grep:文本过滤工具。
grep重要参数:
-v:排除不匹配的行。
-n:显示匹配的行及行号。
-i:不区分大写小写。
-E:使用扩展的egrep命令。
--color=auto:为过滤的匹配字符串添加颜色。
-w:只过滤单词。
-o:只输出匹配的内容。
基础例题:[root@honey test]# cat a.txt
10.0.0.3
10.0.0.3
10.0.0.1
10.0.0.9
10.0.0.6
10.0.1.2 F
10.0.2.3 G
10.0.0.4 F
10.0.2.9 S
10.0.0.5 A
[root@honey test]# grep -v "10.0.0.*" a.txt
10.0.1.2 F
10.0.2.3 G
10.0.2.9 S
基础例题:[root@honey test]# grep -n "." a.txt
1:10.0.0.3
2:10.0.0.3
3:10.0.0.1
4:10.0.0.9
5:10.0.0.6
6:10.0.1.2 F
7:10.0.2.3 G
8:10.0.0.4 F
9:10.0.2.9 S
10:10.0.0.5 A
基础例题:[root@honey test]# grep -i "f" a.txt
10.0.1.2 F
10.0.0.4 F
244dfjfsjlsgdsggsg
基础例题:[root@honey test]# grep -iE --color=auto "10.0.0.4|f" a.txt
10.0.1.2 F
10.0.0.4 F
244dfjfsjlsgdsggsg
sed:是操作、过滤、转换文本内容的强大工具。常用功能是过滤字符串和取出指定行。
常用参数:
-n:取消sed的默认输出,常于sed内置命令p联用。
-i:直接修改文件的内容,而不是输出到终端。如果不使用-i选项,则只是修改内存中的数据,并不会影响磁盘上的文件。
sed内置命令:
a:追加文本,在指定行后添加一行或多行文本。
d:删除匹配的文本。
p:打印匹配行的内容。
i:插入文本,在指定行前插入。
s###g:替换文件内容。g表示全局匹配。
基础例题:[root@honey test]# sed -i '2a 10.0.0.8' a.txt
[root@honey test]# cat a.txt
10.0.0.3
10.0.0.3
10.0.0.8
10.0.0.1
10.0.0.9
10.0.0.6
10.0.1.2 F
10.0.2.3 G
10.0.0.4 F
10.0.2.9 S
[root@honey test]# sed '2,4d' a.txt
10.0.0.3
10.0.0.9
10.0.0.6
10.0.1.2 F
10.0.2.3 G
10.0.0.4 F
10.0.2.9 S
10.0.0.5 A
awk:是一种编程语言,可以用来处理数据和生产报告。
参数:-F 指定分隔符。
-v 定义或修改一个awk内部的变量。
awk常用功能:
指定分隔符显示某几列:awk -F "GET|HTTP" '{print $2}' access.log
显示某个范围内的内容:awk 'NR==20,NR==39' /etc/passwd