热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

如何在Select-String的行首使用正则表达式?

如何解决《如何在Select-String的行首使用正则表达式?》经验,为你挑选了1个好方法。

我有以下代码,

Write-Output "$(Get-Content $alerfile | Select-String $(Get-Date (Get-Date).AddDays(-1) -Format $filtdate) -Context 0,1000000)"

我只需要返回行首的字符串,我尝试过:

Write-Output "$(Get-Content $alerfile | Select-String ^$(Get-Date (Get-Date).AddDays(-1) -Format $filtdate) -Context 0,1000000)"

但这不起作用。



1> Theo..:

As Lee_Dailey commented, you need to remove the Write-Output. Also, you're overdoing it with the date in the pattern.

Next, the Select-String cmdlet also has a -Path parameter, so you don't need Get-Content for this.

I suggest something like this:

# insert the datetime format you need here; this is just an example
$filtdate = 'yyyyMMdd HH:mm:ss'
# get yesterdays date formatted using the $filtdate template above
$refdate  = (Get-Date).AddDays(-1).ToString($filtdate)
# find the string beginning with that formatted date and return the results
Select-String -Path $alerfile -Pattern "^$refdate" -Context 0,1000000


推荐阅读
author-avatar
心情爱心_634
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有