Shell-Script
使用腳本生成的輸出值在文件中添加值
我有一個 txt/log 文件,其中包含數據-
cat sample.log/(.txt)
500,3,2
正在執行的腳本會覆蓋 sample.log 中的值。我希望數據與其各自的行相加,而不是覆蓋/或生成新行。
例子:
Sample.log -500,3,1 Script out- 600,4,3
需要儲存的最終輸出
sample.log
1100,7,4
每次腳本執行時,它都會繼續添加相應的值。
請幫我得到這個輸出。
這是一種使用 GNU awk 執行此操作的方法,其中呼叫腳本並呼叫
script.sh
現有的總文件/tmp/sample.log
:script.sh|\ cat /tmp/sample.log -|\ awk -F, '{for (f=1;f<=NF;f++) TOT[f]+=$f} END {for (f=1;f<length(TOT);f++) printf TOT[f]","; print TOT[length(TOT)]}' >/tmp/sample1.log mv -f /tmp/sample1.log /tmp/sample.log
來自的輸出
script.sh
被組合(放在下面的一行)現有的sample.log
,然後將這兩行相加,awk
結果用於替換sample.log
這將適用於任意數量的欄位(不必保持一致)。分隔符設置為逗號,但這很容易更改。