J'essaie de trier ce fichier en fonction de la quatrième colonne. Je souhaite que le fichier soit réorganisé en fonction des valeurs de la quatrième colonne.
Fichier:
2 1:103496792:A 0 103496792
3 1:103544434:A 0 103544434
4 1:103548497:A 0 103548497
1 1:10363487:T 0 10363487
Je veux que ce soit trié comme ceci:
1 1:10363487:T 0 10363487
2 1:103496792:A 0 103496792
3 1:103544434:A 0 103544434
4 1:103548497:A 0 103548497
J'ai essayé cette commande:
sort -t$'\t' -k1,1 -k2,2 -k3,3 -k 4,4 <filename>
Mais j'obtiens une erreur de nom de variable illégale. Quelqu'un peut-il m'aider avec ça?
Pour trier sur la quatrième colonne, utilisez simplement le -k 4,4
sélecteur.
sort -t $'\t' -k 4,4 <filename>
Vous pourriez également vouloir -V
qui trie les nombres plus naturellement. Par exemple, produisant 1 2 10
plutôt que 1 10 2
(ordre lexicographique).
sort -t $'\t' -k 4,4 -V <filename>
Si vous obtenez des erreurs concernant le $'\t'
puis assurez-vous que votre Shell est bash. Vous manquez peut-être #!/bin/bash
en haut de votre script?
Je crois que vous avez une erreur $
dans votre commande.
Essayer:
sort -t\t -nk4