本文是为了记录在编程中进行一些在文件夹中查找某些关键字进行配置时查找文件过于麻烦的解决办法 在Linux开发中使用一些命令或者命令的配合进行查找文件内容及匹配关键词还是比较方便的。
grep是在使用Linux时经常会用到的一个命令了,这个命令平时大都主要用来进行对一段输出的关键字定位,但是这个命令也可以通过使用某些参数来达到文件夹文件内容遍历的效果
grep -nr "str" path
./
,也就是当前目录开始,也可以手动指定目录grep -nr "/bin/bash" /home/$USER
find是查找指令,用来查找文件的;xargs可以将标准输入作为另一个命令的参数;grep上面已经解释过了。那么,如果使用find来循环查找文件,使用他输出的文件名作为参数给xargs,xargs再将文件名作为grep的参数输入,使用grep来查找文件内容进行定位不久可以实现文件内容查找了吗
find path -name "PATTEN" | xargs grep -n "str" | grep "str"
find /home/$USER/.config -name "*.sh" | xargs grep "/bin/bash" | grep "/bin/bash"
关于这两种方法的取舍其实还是看日常使用过程,如果文件夹内的文件较少,可以使用第一种方法,方便快捷;但是如果文件很多的情况下为了节省查找时间,可以使用第二种方法,能够较为快速地查找到想要的内容。