1.1 三剑客特点及应用场景

命令

特点

场景

grep

过滤

grep命令过滤速度是最快的

sed

替换,修改文件内容,取行

如果要进行替换/修改文件内容 取出某个范围的内容(早上10点到11点)

awk

取列,统计计算

取列 对比,比较 >= <= != > < 统计,计算(awk数组)

 

1.2 三剑客 - grep

选项

含义

 

-E

== egrep 支持扩展正则

 

-A after(之后)

-A5 匹配你要的内容,显示接下来的5行

 

-B before(之前)

-B5 匹配你要的内容,显示上面的5行

 

-C context(上下)

-C5 匹配你要的内容,显示上下5行

 

-c

要匹配的内容出现了几行(几次)

 

-v

取反,排除

 

-n

显示行号

 

-i

忽略大小写

 

-w

精确匹配

 

相关演示:

-A:
#显示3和后面的2个数字
[root@1 ~]# seq 10 |grep -A2 3
3
4
5
-B:
#显示3和前面的2个数字
[root@1 ~]# seq 10 |grep -B2 3
1
2
3
-C:
#显示3前面和后面各2个数字
[root@1 ~]# seq 10 |grep -C2 3
1
2
3
4
5
-c:
#显示sshd出现了几次
[root@1 ~]# ss -anpt |grep sshd
LISTEN     0      128          *:22                       *:*                   users:(("sshd",pid=7107,fd=3))
ESTAB      0      36     192.168.1.54:22                 114.249.195.37:45819               users:(("sshd",pid=13176,fd=3))
LISTEN     0      128       [::]:22                    [::]:*                   users:(("sshd",pid=7107,fd=4))
[root@1 ~]# ss -anpt |grep -c sshd
3
-v:
#不显示2
[root@1 ~]# seq 5 |grep -v 2
1
3
4
5
-w:
#精准匹配
[root@1 ~]# echo wjw www wqq wjwj |grep -w wjw
[root@1 ~]# echo wjw www wqq wjwj |grep '\bwjw\b'
'\b边界\b'
[root@1 ~]# echo wjw www wqq wjwj |grep '\<wjw\>'
wjw www wqq wjwj