grep搜索当前目录和排除目录、文件、关键字
1.搜索当前目录
1.1 搜索当前目录下所有文件,-P文件Perl正则模式,是最强正则模式
grep -Prn "\d{3}" ./ grep -Prn "\d{3}" * grep -rn "\d{3}" * #不支持强正则
1.2 搜索指定目录下所有文件
grep -rnP "\d{3}" ./src
2.排除目录
grep -rni 'http' --exclude-dir=.git ./ grep -rni 'http' --exclude-dir={.git,res,bin} ./
3.排除文件
grep -rni 'http' --exclude=*.java grep -rni 'http' --exclude=*.{java,js,css} grep -rni 'http' --exclude={test.log,grep,*.log}
4.排除关键字
grep -i 'use' test.log | grep -v "option" # 排除多个关键字 grep -i 'use' test.log | grep -v "option" | grep -v "find"
5.排除二进制
grep -I "keyword" . grep -RI "grep" .
6.打印排除目录
ls | grep -Fv weiba #打印不含weiba的目录 ls | grep -Pv '^(weiba|huati)$' #打印不以weiba或huati开头的目录