shell - Linux grep可以根据目录查找么
本文介绍了shell - 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
后面有个说grep test -rw 目录
的,加上-w
是完全符合才匹配,即某一行只有test这个字符串才匹配。
这篇关于shell - Linux grep可以根据目录查找么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文