awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
三级标题
如果只是显示/etc/passwd的账户
[root@VMWare ~]# cat /etc/passwd |awk -F ':' '{print $1}'
root
bin
daemon
adm
...
这种是awk+action的示例,每行都会执行action{print $1}。
-F指定域分隔符为':'。
三级标题
如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以tab键分割
[root@VMWare ~]# cat /etc/passwd |awk -F ':' '{print $1 $7}'
root/bin/bash
bin/sbin/nologin
daemon/sbin/nologin
adm/sbin/nologin
...
三级标题
如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以逗号分割,而且在所有行添加列名name,shell,在最后一行添加"blue,/bin/nosh"。
[root@VMWare ~]# cat /etc/passwd |awk -F ':' 'BEGIN {print "name,shell"} {print $1","$7} END {print "blue,/bin/nosh"}'
name,shell
root,/bin/bash
daemon,/bin/sh
bin,/bin/sh
sys,/bin/sh
....
blue,/bin/nosh
评论区