Linux grep可以根据目录查找么

需求是: 我想查找根目录/下面的哪些文件都包含test这个字符串。但是grep好像只能指定文件名来查找。我现在只能根据test字符串去找文件,要怎么做?

回答:

grep是可以根据目录来检索字符串在哪个文件的,不需要造轮子。
比如kop/目录下有a,b,c三个文件,其中一个文件里有test这个字符串,你想知道test是在a/b/c文件中,可以用:grep -r test kop/grep test -r kop/也行。
-r这个选项在很多命令里都有递归文件夹的意思,如rm -r , cp -r 等

如果硬要造轮子,也行

#!/bin/bash

for i in kop/*;do

if [ -n "$(grep test $i)" ];then

echo -n "$i :"

grep test $i

echo

fi

done

clipboard.png

后面有个说grep test -rw 目录的,加上-w是完全符合才匹配,即某一行只有test这个字符串才匹配。

回答:

grep 'test' -rw 根目录

回答:

你需要可能是这个:

grep -rl 'test' / 

以上是 Linux grep可以根据目录查找么 的全部内容, 来源链接: utcz.com/p/193853.html

回到顶部