簡體   English   中英

使用awk命令求和,然后追加列的值

[英]Summing and then append the values of a column using awk command

在對文件的標記求和之后 ,我試圖附加它們的求和結果。


我的文件位於/ home / evaluation中 ,並且包含以下內容:

  • 英語16
  • 歷史14
  • 生物學15

我想要這樣的東西

  • 英語16
  • 歷史14
  • 生物學15

  • 合計:45


**到目前為止,我去了:

for file in /home/evaluation/* ; do
    awk '{sum+=$2} END {print "total:" sum}' "$file"
done

不幸的是,它僅打印求和值,而不附加它。

您是否無法使awk命令類似,僅執行>>附加?

awk '{sum+=$2} END {print "total:" sum}' "$file" >> $file

您可以使其更加優雅-例如,添加if條件僅添加行total:如果該行尚不存在。

使用GNU awk:

$ awk '{t+=$2}ENDFILE{print "Total",t >> FILENAME}' file
$ cat file
English 16
History 14
Biology 15
Total 45

之后strace荷蘭國際集團,一些我覺得應該有一個close(FILENAME)在結束ENDFILE如果你使用它的多個文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM