Ich möchte Duplikate entfernen und Zeilen mit dem höchsten Wert aus einer Spalte (4. Spalte) in einer Datei mit 4 Feldern behalten. Ich muss dies in einem Linux-Server tun.
Vor
gene subj e-value ident
g1 h1 0.05 75.5
g1 h2 0.03 60.6
g2 h7 0.00 80.5
g2 h9 0.00 50.3
g2 h4 0.03 90.7
g3 h5 0.10 30.5
g3 h8 0.00 76.8
g4 h11 0.00 80.7
Nach
gene subj e-value ident
g1 h1 0.05 75.5
g2 h4 0.03 90.7
g3 h8 0.00 76.8
g4 h11 0.00 80.7
Vielen Dank und es tut mir leid, wenn ich etwas wiederholt gefragt! Aber ich habe keine Antwort auf mein Problem gefunden.
was haben u versucht? – tso
Ive versuchte Befehle basierend auf awk, wie 'cat blast_selected_split0_outfmt6.txt | awk -F '\ t' '{if ($ 1 $ 3 in a) {if ($ 7> a [$ 1 $ 3]) {a [$ 1 $ 3] = $ 7; r [$ 1 $ 3] = $ 0;}} sonst if ($ 3 $ 1 in a) {if ($ 7> a [$ 3 $ 1]) {a [$ 3 $ 1] = $ 7; r [$ 3 $ 1] = $ 0;}} sonst {a [$ 1 $ 3] = $ 7; r [$ 1 $ 3] = $ 0;}} END {für (x in r) print r [x]} '' –
Aber es hielt Duplikate –