awk命令常见用法

来源:互联网 发布:js怎么遍历对象数组 编辑:程序博客网 时间:2024/05/21 09:52

awk ‘条件1 {动作1} 条件2 {动作2} …’ filename
sed对一整行进行处理,awk将行分成一个个“字段”来处理。默认的字段分隔符为空格键或[Tab]键
在每一行的每个字段都有变量名称,分别对应$1,$2,…..。$0代表一整行。


awk的几个内置变量

变量名称 代表的意义 NF 每一行($0)拥有的字段总数 NR 目前awk所处理的是“第几行”数据 FS 目前的分割字符,默认是空格键

Ex:
last
这里写图片描述
取每一行的第一个字段,并标明每行的总行数和每行的字段总数
last -n 5 | awk ‘{print $1 “\t lines: ” NR “\t columns: ” NF}’
这里写图片描述
Ex:对一个txt处理
vim pay.txt
这里写图片描述
计算和,并格式化显示
awk ‘NR==1 {printf “%10s %10s %10s %10s %10s\n”, $1, $2, $3, $4, “Total”}
NR>=2 {total=$2+$3+$4; printf “%10s %10d %10d %10d %10.2f\n”, $1, $2, $3, $4, total}’
说明:
NR==1是条件,对第一行处理的动作是{printf “%10s %10s %10s %10s %10s\n”, $1, $2, $3, $4, “Total”}
NR>=2也是条件,对第二行处理的动作是{total=$2+$3+$4; printf “%10s %10d %10d %10d %10.2f\n”, $1, $2, $3, $4, total}’。两个不同的动作用”;”隔开。
与bash,shell 的变量不同,在awk当中,变量可以直接使用,不用加$
这里写图片描述


学习《鸟哥的私房菜》中 ;O(∩_∩)O哈哈~

来源于IBM–超好的awk入门学习资料

0 0