我自己举例吧:
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)
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