如何grep文件的所有子目录
时间:2020-01-09 14:16:35 来源:igfitidea点击:
如何grep所有子目录?
如何在Linux或Unix等操作系统的所有子目录中使用grep命令?
如何使用grep在OS X/BSD/Unix-like操作系统上查找包括所有子目录在内的模式?
您可以在Linux或类似Unix的系统上使用grep命令在文件中搜索给定的单词。
基本语法如下:
grep 'word1 word2' file1 file2 grep [option] 'word1 word2' file1 file2
您可以使用通配符搜索当前目录中的所有文本文件:
grep 'word-to-search' *
使用grep递归搜索子目录
将-r选项传递给grep命令以递归搜索整个目录树。
使用该选项,可以通过将-r或-R传递给grep命令来搜索当前目录和子目录的所有级别。
语法为:
grep -r 'word-to-search' *
或者
grep -R 'word-to-search' *
例子
例如,以下将搜索当前目录及其所有子目录中的所有文件,以查找包含单词main()的每一行:
grep -r 'main()' *
以下示例将为包含IP地址192.168.1.254的每一行搜索/etc /及其所有子目录:
grep -r '192.168.1.254' /etc/
其他选择
您可以按以下方式使用find命令:
find /dir/to/search -type f -iname "pattern" -print0 | xargs -I {} -0 grep --color 'word-to-search' "{}"
例如,在/usr中的所有* .conf文件中搜索IP地址192.168.1.254:
## must run as root # find /usr/ -type f -iname '*.conf' -print0 | xargs -I {} -0 grep -H --color '192.168.1.5' "{}"