20条有用的AWK单行语句

20条有用的AWK 单行语句

1、END {print NR} #输出总行数
2、NR == 10 #输出第十行
3、{ print $NF } #输出最后一列
4、{ field = NF} END { print field } #输出最后一行的最后一列
5、NF > 4 #输出input line中所有多过4列的行(这个没有在action中,所以是过滤功能)
6、NF > 4 #输出input line中所有最后一列的值大于4的行,也是过滤
7、{ nf = nf + NF } END { print nf } #input line的所有累加总的fields
8、/Beth/ { nlines = nlines + 1 } END { print nlines } #含有Beth这个单词的总行数
9、$1 > max { max = $1; maxline = $0 } END {print max, maxline } #输出第一列最大的行
10、NF > 0 #field输出非空的行
11、length($0) > 80 #过滤出整行的长度超过80的行
12、{ print NF, $0 } #在行前面输出本行有多少列
13、{ print $2, $1 } #输出每一行的第二列,空格,第一列
14、{ temp = $1; $1 = $2; $2 = temp; print } #第一和第二列互换位置后输出全部行
15、{ $1 = NR; print } #第一列替换为行号后输出行
16、{ $2 = “”; print } #清除第二列后输出全部行
17、{ for ( i = NF; i > 0; i = i - 1) printf(“%s “, $i) ;printf(”\n”)} #逆序输出整行
18、{ sum = 0; for (i = 1; i <= NF; i = i + 1) sum = sum + $i }; print sum #求出每行的列汇总和
19、{ for (i = 1; i <= NF; i = i + 1) sum = sum + i } END { print sum } #求出所有行的所有列总和的总和
20、{ for (i = 1; i <= NF; i = i + 1) if (i < 0) i= -i=−i; print } #找出每列中的负数,并使其变成对应正数

©著作权归作者所有:来自51CTO博客作者AlrinNi的原创作品,请联系作者获取转载授权,否则将追究法律责任
20条有用的AWK 单行语句
https://blog.51cto.com/accole/2474121

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值