linux三剑客之grep命令详解
grep是对文本进行过滤的工具,以行为单位,grep的主要作用就是与管道符和正则表达式结合使用,在linux三剑客的使用过程中,管道符和正则表达式特别重要。
之前文章说过,从管道符接受的数据为标准输入,所以grep支持从标准输入或者命令行获取参数,例如cat a.txt | grep 'hello'
与 grep 'hello' a.txt
都是可以的。
grep格式:
grep 功能参数 “正则表达式” 文件
或
…| grep 功能参数 “正则表达式”
grep常用参数:
功能参数 | 解释 |
---|---|
-c | 输出匹配到的行数,功能等同于wc -l |
-i | 正则表达式忽略大小写 |
-l | 查询多文件时只输出包含匹配字符的文件名 |
-h | 查询多文件时不显示文件名 |
-n | 显示匹配行的行号 |
-s | 不显示文件不存在或无匹配文本的错误信息 |
-v | 显示不包含匹配文本的行 |
-A | 匹配行的后几行 |
-B | 匹配行的前几行 |
-E | 扩展正则表达式,等同于egrep |
测试文件
[root@linuxforliuhj test]# cat -n song.txt
1 You make me feel so happy.
2 Whenever Im with you.
3 You make me feel so special.
4 This love is too good to be true.