我有一个由我的脚本生成的 CSV 文件,它获取每个用户使用的 CPU 时间,但是它以秒为单位,我需要以小时为单位,所以我需要将每一行除以 3600。
示例输入文件
**USER,TOTAL_CPU,AVERAGE_CPU
user1,1234552.0,1234.3
user2,9999999.0,82772.6
user3,7777776227.9,282882,0**
如果我一次只做一列,我可以很容易地得到我想要的东西:
for i in `awk -F , 'NR!=1{print $2}' myfile.out`; do bc -l <<< "scale=3; ($i/3600)"; done
这给了我一次一列的输出。我同时想要两者,必须有更好的方法,而不是先处理一列,然后再处理下一列,然后将两者合并在一起。我同时想要两者,输出看起来应该与输入完全相同,但不是秒,而是小时。
示例输出文件:
USER,TOTAL_CPU,AVERAGE_CPU
user1,342.931,0.342
user2,2777.777,22.992
etc.....
Awk
解决方案:输出: