linux下文件搜索

常用

grep -nr "关键字"            搜索当前目录下所有匹配关键字的文件

grep -nr "关键字" *php          搜索当前目录下所有匹配关键字的php文件

find  -name '*.php'|xargs grep 'Hello!'    搜索当前目录下所有匹配关键字"Hello!"的php文件

替换文件内容

把某路径下所有文件中某段内容替换为我们想修改的字串

sed -i "s/原字符串/要替换的字符串/g" `grep "原字符串" -rl 路径`  
grep -i pattern files             不区分大小写地搜索。默认情况区分大小写 
grep -l pattern files             只列出匹配的文件名
grep -L pattern files             列出不匹配的文件名 
grep -w pattern files             只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’)
grep -C number pattern files         匹配的上下文分别显示[number]行
grep pattern1 | pattern2 files        显示匹配 pattern1 或 pattern2 的行
grep pattern1 files | grep pattern2    显示既匹配 pattern1 又匹配 pattern2 的行


find -name april*                 在当前目录下查找以april开始的文件 
find -name april* fprint file         在当前目录下查找以april开始的文件,并把结果输出到file中 
find -name ap* -o -name may*          查找以ap或may开头的文件 
find /mnt -name tom.txt -ftype vfat      在/mnt下查找名称为tom.txt且文件系统类型为vfat的文件 
find /mnt -name t.txt ! -ftype vfat     在/mnt下查找名称为tom.txt且文件系统类型不为vfat的文件 
find /tmp -name wa* -type l          在/tmp下查找名为wa开头且类型为符号链接的文件 
find /home -mtime -2              在/home下查最近两天内改动过的文件 
find /home -atime -1               查1天之内被存取过的文件 
find /home -mmin +60              在/home下查60分钟前改动过的文件 
find /home -amin +30                 查最近30分钟前被存取过的文件

xargs配合grep查找:find  -name '*.php' | xargs grep 'Hello!

原文地址:https://www.cnblogs.com/ssooking/p/5935696.html