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

你可能感兴趣的:(linux命令)