awk命令
awk
是一种用于文本处理和数据提取的强大工具。它可以根据指定的规则对文本进行分析和处理,并输出所需的结果。
以下是awk
的一些常用命令用法和示例:
1.打印整行:
[root@localhost ~]# cat file
kangkang 18 130
jane 15 100
green 16 120
[root@localhost ~]# awk '{print}' file
kangkang 18 130
jane 15 100
green 16 120
这将打印文件file
中的每一行。
2.打印第一行:
[root@localhost ~]# cat file
kangkang 18 130
jane 15 100
green 16 120
[root@localhost ~]# awk 'NR==1' file
kangkang 18 130
在这个命令中,NR
表示当前行号,==
表示等于。所以NR==1
表示只选择行号为1的行。
3.打印特定列:
[root@localhost ~]# cat file
kangkang 18 130
jane 15 100
green 16 120
[root@localhost ~]# awk '{print $2 }' file
18
15
16
这将打印文件file
中的第二列。
4.根据条件进行过滤:
[root@localhost ~]# awk '$3 > 100 {print}' file
kangkang 18 130
green 16 120
这将打印文件file
中第三列大于100的行。
5.计算列的总和:
[root@localhost ~]# cat file
kangkang 18 130
jane 15 100
green 16 120
[root@localhost ~]# awk '{sum += $2} END {print sum}' file
49
这将计算文件file
中第二列的总和,并打印结果。
6.使用条件语句:
[root@localhost ~]# cat file
kangkang 18 130
jane 15 100
green 16 120
[root@localhost ~]# awk '{if ($3 > 110 ) print "Pass"; else print "Fail"}' file
Pass
Fail
Pass
这将根据文件file
中的第三列的值,打印"Pass"或"Fail"。
6.使用自定义分隔符:
[root@localhost ~]# cat aa
hello,nihao,hai
[root@localhost ~]# awk -F ',' '{print $2}' aa
nihao
-F选项来指定字段分隔符。默认情况下,字段分隔符是空格或制表符,这用逗号作为分隔符,打印文件file
中的第二列。