我告訴朋友,我會幫他完成作業,並且咬掉的東西超過了我的咀嚼量。我的技能真的很塵。在bash中用選項卡分隔符對文件進行排序並添加列
我有一個文本文件,行任意數量的,3列
Lap1 Lap2 Lap3
33.2 33.0 31.9
33.1 32.1 30.9
34.1 33.8 33.7
...
而且我想通過該列中添加平均列,和排序。
我想我可以在原始文件CP到我的newLapTimes.txt,然後通過
total=$(awk { if (NR!=1) { print $1+$2+$3 }}) lapTimes.txt
rows=$(awk {print NR} lapTimes.txt)
average=$(expr $total/$rows)
獲得平均,並添加到每一行的末尾我複製newLapTimes.txt
然後我只是sort -nk4 newLapTimes.txt -o newLapTimes.txt
但這看起來真的不合適,如果它甚至是正確的。
我希望這個答案是一個乾淨的方法腳本,而不是簡單的單線程。
有可能是一個更好的方法來做到這一點,但我會用awk來計算平均值,然後對它進行排序。基本上如果文件是合理的,你可以使用awk將它在內存中排序。 –