在cmd
中,等效的grep
是findstr
;在powershell
中,等效的grep
是select-string
。我知道以下grep
命令可达到目的,我正在寻找:
grep -RH ".*Echo.*" --include="*.nb" *
有人可以告诉我如何在cmd
和powershell
中实现这一目标吗?
此代码grep -RH ".*Echo.*" --include="*.nb" *
递归搜索当前目录和所有子目录,以查找与模式"*.nb"
匹配的文件,然后在匹配的文件中查找正则表达式".*Echo.*"
。
如果找到匹配项,则打印两列数据,用:
分隔列,用\r\n
分隔行。第一列包含文件的路径,第二列包含找到匹配项的整个行。
如果同一文件包含具有匹配项的多行,它将在返回的数据集中重复这些行。
答案 0 :(得分:4)
尝试:
get-childitem -recurse -Filter "*.nb" -file | select-string -Pattern "Echo" | %{"{0}:{1}" -f $_.Path, $_.Line}
简短版本:
gci -rec -Filter "*.txt" -file | sls "Echo" | %{"{0}:{1}" -f $_.Path, $_.Line}