[linux] AWK的爱恨情仇(not finish)

竖列求和

#统计当前目录下压缩文件和普通文件
ls -l |grep "tar\.gz" 
ls -l |grep -v "tar\.gz" 
#grep 最好加双引号并加上转义
[root@10-19-60-16 trafficdatapush_data]# ls -l |grep "tar\.gz" | head -5
-rw-r--r-- 1 root root          45 Apr 12 13:16 20180930_11.test.result.tar.gz
-rw-r--r-- 1 root root     4368364 Apr 12 14:07 20181011_09.onlined.result.tar.gz
-rw-r--r-- 1 root root    37920105 Apr 12 14:07 20181011_10.onlinec.result.tar.gz
-rw-r--r-- 1 root root     3835136 Apr 12 14:07 20181011_10.onlined.result.tar.gz
-rw-r--r-- 1 root root    91688929 Apr 12 14:07 20181011_10.test.result.tar.gz

#要统计总大小,第五列求和
 ls -l |grep "tar\.gz" |awk -F " *" '{sum+=$5; print $5","sum} END {print sum}'
# -F“ *” 指定分隔符,多个连续空格为分隔符,不然会严格一一个空格分割
# '....'单引号中是具体操作
# {sum+=$5; print $5","sum}  对于每一行sum+=第五列($0是完整的当前行) 
# END {print sum} 最后所有行结束之后输出sum

猜你喜欢

转载自blog.csdn.net/sszzyzzy/article/details/89244648