显示不以#开头的行> grep ^[^#] rumenz.txt 显示#开头的行> grep ^# rumenz.txt 从单个文件查找指定字符串> grep "rumenz" 1.txt 从多个文件查找指定字符串> grep "rumenz" *.html 忽略大小写, 并显示行号> grep -in "rumenz" 1.txt 显示查找到的总行数> grep -c "rumenz" 1.txt 查找目录下所有文件,并只输出含有该文本的文件名> grep -l "rumenz" * -l: 查询多文件的时候只输出包含匹配字符的文件名递归查找目录下所有文件,并只输出含有该文本的文件路径> grep -rl "rumenz" . grep静默输出 不会输出任何信息,如果命令运行成功返回0,失败则返回非0值。一般用于条件测试。> grep -q "rumenz" 1.txt 除开某一个目录不匹配> grep -R --exclude-dir="tmp" "rumenz" tmp 中的文件不用查找去掉文本中的空行> cat 1.txt | grep -v "^s*#34; 过滤注释行> cat 1.txt | grep -v "^#" 同时过滤空白行与注释行> cat 1.txt | grep -v "^#34; | grep -v "^#" 打印匹配行的后5行> grep -A 5 "rumenz" 1.txt 打印匹配行的前5行> grep -B 5 "rumenz" 1.txt 打印匹配行的前后5行> grep -C 5 "rumenz" 1.txt 模糊匹配> grep "abc" 1.txt //结果为abcd, abcde, abc等 精确匹配> grep -w "abc" 1.txt 同时匹配多个字符串> cat 1.txt | grep -e "ab" -e "ef" -o -e 指定字符串作为查找文件内容的关键字符-o 只输出文件中匹配到的部分, 不会打印多余的内容。只在目录中所有的.php和.html文件中递归搜索字符"rumenz"> grep -r "rumenz" --include *.{html,php} 在搜索结果中排除所有README文件> grep -r "rumenz" --exclude "README" . 在搜索结果中排除filelist文件列表里的文件> cat filelist aaa bbb rumenz > grep -r "rumenz" --exclude-from filelist . 原文链接:https://rumenz.com/rumenbiji/linux-grep-skills.html