我正在寻找一种在多个文件中找到特定行匹配的方法,例如:
FILE1.TXT:
abcd.123
efgh.456
FILE2.TXT:
ijkl.789
mnop.001
如果它包含.
(句点),我想在每个文件中返回第2行的所有结果。
到目前为止,我已尝试过这个cmd:
Get-Content *.ini | where-object {"$_" -match '.\\..='}
将返回包含.
。
我想要的是返回第2行有.
的任何文件的文件名。
答案 0 :(得分:2)
你可以这样做:
Get-ChildItem *.ini | ? {
(Get-Content $_.FullName)[1] -like '*.*'
}
由于Get-Content
返回一行数组,索引1
将从给定文件中选择第二行。此外,您应该使用模式匹配(运算符-like
)而不是正则表达式来进行此检查,因为它符合要求并提供更好的性能。