Blue Flower

Le jeux de données

cat commandes.txt 
ID_CMD ID_PRD
ID_CMD4   2
ID_CMD5   3
ID_CMD1   4  
ID_CMD2   4 
ID_CMD3   4

 

Tri sur la première colonne

sort commandes.txt 
ID_CMD1   4  
ID_CMD2   4 
ID_CMD3   4
ID_CMD4   2
ID_CMD5   3
ID_CMD ID_PRD

Le problème est que la ligne d'en-tête est aussi triée. En utilisant head -n1 et tail -n+2, on s'en sort :

head -n1 commandes.txt && tail -n+2 commandes.txt | sort
ID_CMD ID_PRD
ID_CMD1   4  
ID_CMD2   4 
ID_CMD3   4
ID_CMD4   2
ID_CMD5   3

ou

thierry@PC-thierry:~$ head -n1 commandes.txt && sort <(tail -n+2 commandes.txt) 
ID_CMD ID_PRD
ID_CMD1   4  
ID_CMD2   4 
ID_CMD3   4
ID_CMD4   2
ID_CMD5   3

Tri sur une autre colonne que la colonne 1

Nous allons trier sur la colonne ID_PRD, c'est-à-dire la seconde, qui est de type numérique

cat commandes.txt | sort -k2n
ID_CMD ID_PRD
ID_CMD4   2
ID_CMD5   3
ID_CMD1   4  
ID_CMD2   4 
ID_CMD3   4