Linux grep命令使用大全

grep是一种使用正则表达式的多用途文本搜索工具(global search regular expression(RE) and print out the line)
主要参数:
-c:仅仅输出匹配行的计数。
-I:不区分大 小写(仅仅适用于单字符)。
-h:查询多文件时不显示文件名称。
-l:查询多文件时仅仅输出包括匹配字符的文件名称。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包括匹配文本的全部行。
grep ‘test’ testfile.txt # 从文件中查找匹配’test’的的内容,如可为’testaa’,'atest’乖乖
ls | grep -i ‘test’ #忽略大小写进行匹配
grep -w ‘test’ testfile.txt # 匹配整个单词,如’testaa’不列出
grep -n ‘test’ testfile.txt # 显示行号进行匹配
grep -v ‘test’ testfile.txt # 将没有出现’test’的行取出来

grep -A3 ‘testa’ testfile.txt # 在匹配行打印完毕后再打印3行
grep -B5 ‘testa’ testfile.txt # 在匹配行前打印5行
grep -C8 ‘testa’ testfile.txt # 在前后各自打印8行

grep ‘test’ * # 在当前目录搜索带’test’行的文件
grep -r ‘test’ * # 在当前目录及其子目录下搜索’test’行的文件
grep -l -r ‘test’ * # 在当前目录及其子目录下搜索’test’行的文件,但是不显示匹配的行,只显示匹配的文件
grep -c “baidu.com” test.txt # 统计匹配行数

grep --color “test” test.txt # 加上着色
30 black
31 red
32 green
33 yellow
34 blue
35 purple
36 cyan
37 white

自定义颜色:
GREP_COLOR=32

以下是 grep 与正则表达式的结合

grep -n ‘t[ae]st’ test.txt
grep -n ‘[^g]oo’ test.txt # 搜索到有 oo 的行,但不想要 oo 前面有 g,并显示行号
grep -n ‘[^a-z]oo’ test.txt # 搜索到有 oo 的行,但不想要 oo 前面有小写字母
grep -n ‘[0-9]’ test.txt # 取得有数字的行
grep -n ‘^the’ test.txt # 搜索出以’the’开头的行
grep -n ‘1’ test.txt # 搜索出以小写字母开头的行
grep -n ‘[a-zA-Z]’ test.txt # 搜索出不是字母开头的行
grep -n ‘.KaTeX parse error: Expected 'EOF', got '#' at position 12: ' test.txt #̲ 行尾结束为小数点 (.) 的…’ test.txt # 找出空白行
grep -n ‘g…d’ test.tx # 找出包含’g??d’字串行
grep -n ‘ooo*’ test.txt
grep -n ‘goo*g’ test.txt

grep -n ‘o{2}’ test.txt # 搜索出含有2个’o’的行
grep -n ‘go{2,5}g’ test.txt # 找出 g 后面接 2 到 5 个 o ,然后再接一个 g 的字串

另外参考:egrep

ls | grep -E “file1|file2” # -E 选项可使用多个文件
ls | egrep “file1|file2”


  1. a-z ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值