gpt4 book ai didi

PowerShell实现在多个文件中检索关键字功能

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PowerShell实现在多个文件中检索关键字功能由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

这几天在看Powershell,感觉挺强大的,一个小任务,是用powershell实现多个文件中检索万行记录的脚本。刚开始想用用Get-Content 结合Where-Object来实现,发现检索的结果太慢,而且检索的条目显示出来后不知道来自哪个文件,这个虽然也容易实现,但是经过对多种方法的探索,我发现竟然一条强大的命令竟然可以实现所有这些需求,而且超快的.

  。

一般用于IIS日志分析,由于主要是介绍这个PS命令的,IIS日志是从服务器端抓取的,这里仅就是测试用的一半数据.

  。

首先进入到相应目录,查看当前目录下的文件,其中四个log文件是用来测试的。如下:

PowerShell实现在多个文件中检索关键字功能

然后就用下面这条命令实现那个强大的功能:

  。

PowerShell实现在多个文件中检索关键字功能

  。

比如要搜索关键字write,则输入write回车之后,搜索到的结果如下(仅截取部分,这里由于隐私,日志文件是俺造的,只是数据量比较大,内容纯属虚构~~):

  。

PowerShell实现在多个文件中检索关键字功能

  。

可以将这条语句赋给一个临时变量,来查看一下在这瞬间查出了多少数据:

  。

PowerShell实现在多个文件中检索关键字功能

其实也不多,4个日志文件中瞬间查出了500条数据,其实这个看不出来,因为我造的数据量还不够大。。.

下面对这条强大的命令简单解释下:

整体其实就是使用了Select-String这个命令,具体用法参考

http://technet.microsoft.com/zh-cn/library/dd315403.aspx 。

Get-ChildItem是得到当前面目录下的所有项,然后通过管道| 输入给?(就是Where-Object的别名)来筛选,及筛选当前目录下的log文件,$_代表当前对象,即前面查出的结果,-like使用了模式匹配,$(Read-Host)是从控制台读入,类似C#中的ReadLine()(相应的标准输出是Write-Host),即当用户输入一个关键字后,命令会从后向前的执行.

由于是刚入门,如有出错,大神们多多指教.

最后此篇关于PowerShell实现在多个文件中检索关键字功能的文章就讲到这里了,如果你想了解更多关于PowerShell实现在多个文件中检索关键字功能的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com