awk如何取出它的每一行和某一列的某个元素

我自己举例吧:


 

NR==2,指定第二行,NR(Number of Record,记录数,awk中默认一行为一个记录)

print $3,打印第三列

最后输出第二行第三列的元素。


=============================================================

awk进行列求和【awk '{a+= $0}END{print a}'】:

Partition ods.ods_student{day=20151215, type=1} stats: [numFiles=1, numRows=302596, totalSize=3354786, rawDataSize=63545061]
Partition ods.ods_student{day=20151215, type=2} stats: [numFiles=3, numRows=5443551, totalSize=116037964, rawDataSize=1241838051]
Partition ods.ods_student{day=20151215, type=3} stats: [numFiles=1, numRows=4616, totalSize=107641, rawDataSize=1057064]


显示列:cat log|awk -F ":" '{print $2 }'|awk -F "," '{print $2 }'|awk -F "=" '{print $2 }'

结果:

302596
5443551
4616

显示求和:cat log|awk -F ":" '{print $2 }'|awk -F "," '{print $2 }'|awk -F "=" '{print $2 }'|awk '{a+= $0}END{print a} '

结果:

5750763

 

 

 

1、打印文件的第一列(域)

awk '{print $1}' filename

    1

2、打印文件的前两列(域)

awk '{print $1,$2}' filename

    1

3、打印完第一列,然后打印第二列

awk '{print $1 $2}' filename

    1

4、打印文本文件的总行数

awk 'END{print NR}' filename

    1

5、打印文本第一行

awk 'NR==1{print}' filename

    1

6、打印文本第二行第一列

sed -n "2, 1p" filename | awk 'print $1'

    1

shell里面的赋值方法有两种,格式为

    1) arg=`(命令)

    1

    2) arg=$(命令)

    1

因此,如果想要把某一文件的总行数赋值给变量nlines,可以表达为:

    1) nlines=`(awk 'END{print NR}' filename)`

    1

或者

    2) nlines=$(awk 'END{print NR}' filename)

 

 

如何通过awk,获取top命令执行后,第三行%us前的数字?

top -bn1 | awk '/%us/ {print $2}' sed 's/%us,//'

top -bn1 | awk '/%us/ {print $2}' sed 's/,//'

top -bn1 | awk '/%us/ {print $2}' |cut -d "%" -f 1

top |grep "Cpu(s)"|cut -d ":" -f 2|cut -d "%" -f 1

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值