常用参数
递归查找所有文件
grep -r test ./ # -r递归不包含链接文件
grep -R test ./ # -R递归包含链接文件
匹配单词
grep -w test ./test.txt
匹配行
grep -x "this is a test" ./test.txt
排除匹配内容
grep -v test ./test.txt
使用正则表达式
grep -E "test$" ./test.txt
仅显示匹配部分
grep -oE "t.*t" ./test.txt
不显示任何结果
通常用于判断结果,使用$?
获取是否过滤到数据。
grep -q test ./test.txt
显示匹配行号
grep -n test ./test.txt
不区分大小写
grep -i test ./test.txt
仅显示文件名
grep -l test /data/* # 显示匹配test的文件名
grep -L test /data/* # 显示没有匹配test的文件名
常见用例
排除空行
grep -Ev '^$' ./test.txt
排除空字符行
grep -xvE '\s*' ./test.txt