shell - Linux grep可以根据目录查找么

查看:61
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆