我想實現從下面輸入文件東西input.txt中:解析文件命令
[email protected] 8 10
[email protected] 9 11
[email protected] 2 6
[email protected] 2 7
[email protected] 8 5
[email protected] 3 5
現在我想op.txt:
[email protected] 38
[email protected] 21
[email protected] 17
說明:
1)只需要一個記錄(電子郵件)一次。
2)對於相同電子郵件ID的所有記錄,需要第2列+第3列($ 2 + $ 3)的總和。
例如:
文件包含的[email protected]
[email protected] 8 10
[email protected] 9 11
這樣,第一線(8 + 10)加上第二行的總和(9 + 11)等於38
如果兩個項一個shell腳本更可行,那麼我可以去那個。
編輯:
我曾嘗試下面的命令,但我不知道如何整合兩者,因爲第一個發現的特定關鍵詞的總和:
cat input.txt | grep "[email protected]" | awk '{print $1+$2}'|paste -sd+ | bc
而這一次發現對於第一列的唯一條目:
cat input.txt |awk '{print $1}'|uniq
首先,親自嘗試一下,看看你想出了什麼。然後我們可以幫助你。其次,我不明白「用awk命令在perl中」是什麼意思。 –
'(8 + 10)+(9 + 11)'是38,而不是28. [email protected]的期望值也是錯誤的。 –
@ F.J抱歉我的錯誤編輯了這個問題。 – Ganesh