Unix脚本,用于在目录或文件夹的所有文件和子目录中搜索特定的关键字

时间:2019-08-30 06:38:20

标签: shell unix grep find

我正在研究一个Shell脚本,它将在文件夹的所有日志文件和子文件夹中搜索特定的关键字。

我正在使用以下grep命令,但它仅显示当前目录中的关键字,而不显示子目录中的关键字。就我而言,我有一堆子目录,其中日志文件将位于其中,而不显示子目录中的文件。

grep -r -H "Keyword" *.log

请提出我该如何实现。

谢谢

2 个答案:

答案 0 :(得分:1)

您使用了错误的参数和错误的命令。使用grep时,它应该为-R,并且您只能在目录中搜索。

grep -R -H "Keyword" .

但是我认为您想使用find。

find . -name '*.log' -exec grep -H "Keyword" {} \;

答案 1 :(得分:0)

请您尝试以下。

find /dir_name/ -type f -name "*.log" -exec grep -l "your_string" {} \+ 2>/dev/null