我有一个awk脚本,该脚本给我想要的.txt文件结果,但我担心的是结果的给出方式:我将所有这些都放在一行中,并且我想对其进行设计。
20140201 -73828274 20140202 7376288374 20140203 3837482437 ....... 20140228 -73629277
我希望输出以这种格式显示
20140201 -73828274
20140202 7376288374
20140203 3837482437
n n
n n
n n
20140228 73629277
我想要日期一侧和日期之前的对应总数
这是使用的awk脚本
$ for file in *.txt;do awk -F,'NR==1{header=$0; next} {a[$1]+=$6+$14} END {for (i in a) {print i, a[i]};}' $file; done > red.txt
任何的想法 ?
代替print
您可以使用printf
。如下更改脚本的END{}
一部分awk
:
END {for (i in a) {printf "%d\t%d\n", i, a[i]};}
在两个值(%d
)之间,它会显示一个制表符(\t
),最后是一个换行符(\n
)。
或完整的命令:
for file in *.txt;do awk -F,'NR==1{header=$0; next} {a[$1]+=$6+$14} END {for (i in a) {printf "%d\t%d\n", i, a[i]};}' $file; done > red.txt
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句