我正在查找文件列表。
我如何将它输送到另一个实用程序,如cat,以便cat显示所有这些文件的内容?
然后,我将使用grep来搜索这些文件中的一些文本。
我正在查找文件列表。
我如何将它输送到另一个实用程序,如cat,以便cat显示所有这些文件的内容?
然后,我将使用grep来搜索这些文件中的一些文本。
当前回答
对我来说,听起来像是shell脚本的工作:
for file in 'find -name *.xml'
do
grep 'hello' file
done
或者类似的东西
其他回答
您正在尝试在文件中查找文本吗?你可以简单地使用grep…
grep searchterm *
find命令有一个-exec参数,你可以用它来做类似的事情,你可以直接用它来做grep。
例如(从这里,其他好的例子在本页):
find . -exec grep "www.athabasca" '{}' \; -print
我使用的方法是这样的:
find . -name <filename> -print0 | xargs -0 cat | grep <word2search4>
"find"的"-print0"参数和"xargs"的"-0"参数需要正确处理文件路径/名称中的空白。
使用ggrep。
ggrep -H -R -I "mysearchstring" *
在Unix中搜索包含位于当前目录或子目录中的文本的文件
下面是我找到包含一些我感兴趣的内容的文件名的方法,只是一个简单的bash行,很好地处理文件名中的空格:
find . -name \*.xml | while read i; do grep '<?xml' "$i" >/dev/null; [ $? == 0 ] && echo $i; done