tout le monde! Je souhaite supprimer les doublons et conserver les lignes avec la valeur la plus élevée d'une colonne (4ème colonne) dans un fichier avec 4 champs. Je dois le faire sur un serveur Linux.Supprimer les doublons et garder la ligne qui contient la valeur maximale d'une colonne - LINUX
Avant
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
Après
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
Merci beaucoup et je suis désolé si je demandais quelque chose répété! Mais je n'ai pas trouvé de réponse à mon problème.
qu'avons u essayé? – tso
J'ai essayé des commandes basées sur awk, comme 'cat blast_selected_split0_outfmt6.txt | awk -F '\ t' '{if ($ 1 $ 3 en a) {if ($ 7> a [$ 1 $ 3]) {a [$ 1 $ 3] = $ 7; r [$ 1 $ 3] = $ 0;}} sinon if ($ 3 $ 1 dans a) {if ($ 7> a [$ 3 $ 1]) {a [$ 3 $ 1] = $ 7; r [$ 3 $ 1] = $ 0;}} else {a [$ 1 $ 3] = $ 7; r [$ 1 $ 3] = $ 0;}} FIN {pour (x en r) imprimer r [x]} '' –
Mais il a gardé des doublons –