我想用awk解析製表符分隔的表 - 第一列有幾個重複的條目,我需要刪除其他4列總和較小的重複行在桌子裏。我可以很容易地刪除第一行或第二行,並對列進行求和,但是我無法將兩者結合起來。爲了我的目的,永遠不會有超過2個副本。結合awk腳本的問題
實施例的文件:在這種情況下http://pastebin.com/u2GBnm2D
希望的輸出是刪除的行:
lmo0330 1 1 0 1
lmo0506 7 21 2 10
並保持與其它兩行與列相同基因的id。最後解析的文件應該是這樣的:http://pastebin.com/WgDkm5ui
這是我曾嘗試(這並不做任何事情,但第一部分去除第二副本,而第二部分總和計數):
awk 'BEGIN {!a[$1]++} {for(i=1;i<=NF;i++) t+=$i; print t; t=0}'
我試圖修改腳本的第二部分在這個問題的最佳答案:Removing lines containing a unique first field with awk?
awk 'FNR==NR{a[$1]++;next}(a[$1] > 1)' ./infile ./infile
但不幸的是我真的不明白這是怎麼回事不夠好,得到它的工作。誰能幫我嗎?我想我需要更換a[$1] > 1
部分用[刪除(第一重複計數或第二的副本計數取決於哪一個更大]
編輯:。我還使用了GNU AWK 3.1.7如果該事項
你的問題是好的,但它是h想明白,你到底想要什麼。 – peterh
我在解析後添加了一個輸出結果的鏈接,這有助於澄清問題嗎? – 1225
這是一個非常古老的gawk版本,你應該更新它,因爲你缺少很多非常有用的功能。 –