我有一個字符串的文件:在分隔符分割字符串,總結最後一個字段
XC:a:1
XC:b:2
XC:c:0
等。我想在第二個:
分割它並且總和所有整數。例如,對於上面的列表我想要1+2+0+...
我試過cut -d ":"
但它只給出字段XC
。
我有一個字符串的文件:在分隔符分割字符串,總結最後一個字段
XC:a:1
XC:b:2
XC:c:0
等。我想在第二個:
分割它並且總和所有整數。例如,對於上面的列表我想要1+2+0+...
我試過cut -d ":"
但它只給出字段XC
。
如果您安裝了perl;你可以在一行中做到這一點。
perl -F/:/ -ane 'END {print "$x\n"} $x += $F[2]' inputFile
-F/:/ sets colon as the split separator works with -a
-a autosplit mode with -n splits each line into @F
-n assume "while (<>) { ... }" loop around program
可以使用cut
和paste
這種方式:
paste -s -d+ <(cut -f3 -d: file) | bc
<(cut ...)
=>使用進程替換所提取的數字發送到paste
paste -s -d+
=>將數字轉換上多行這種格式1+2+3
然後被送到bc
進行數學運算看起來更乾淨,可以執行'cut -f3 -d:file | paste -s -d + - | bc' –
這可以用awk來完成,試試這個或者你可以用列號替換$ NF。
的awk -F: '{和+ = $ NF} END {打印總和}' file_name中
使用Python:
python -c "print(sum(int(line.split(':')[-1]) for line in open('filename')))"
不,他們在不同的行 – Ssank
如果我的回答在下面似乎很有幫助,用'^'標記答案_accepted_作爲答案,以便這篇文章可以對將來訪問的某個人有用 – Inian