如何通过单行命令从文件中筛选指定字符串?
解决方案
要通过Select-String筛选出目标行,利用它支持正则表达式的特性即可,直接指定包含string2或string4的匹配模式:
基础命令(输出包含匹配信息的对象)
Get-Content -Path "E:\myfile.txt" | Select-String -Pattern 'string2|string4'
仅输出匹配的文本行
如果只需要纯文本内容,不需要默认输出的文件名、行号等信息,有两种方式:
- 使用
-Raw参数直接返回文本行:
Get-Content -Path "E:\myfile.txt" | Select-String -Pattern 'string2|string4' -Raw
- 提取匹配对象的
Line属性:
(Get-Content -Path "E:\myfile.txt" | Select-String -Pattern 'string2|string4').Line
说明
-Pattern 'string2|string4':正则表达式中的|表示“或”,匹配包含string2或string4的任意行- 默认匹配不区分大小写,若需要严格区分,可添加
-CaseSensitive参数
内容的提问来源于stack exchange,提问作者Besha
相关产品推荐
相关产品推荐

