Publié le 28 décembre 2018
Supposons que j’ai un fichier qui contient :
Ligne1 aze
Ligne2 rty
Ligne3 ui
Ligne4 op
Note : il n’y a pas d’espace dans le fichier, uniquement des tabulations.
Comment faire pour afficher uniquement la deuxième colonne ? La
commande cut
serait parfaite mais il n’est pas possible de
mettre une tabulation dans une ligne de commande Bash.
En fait c’est plutôt facile, Il est possible d’utiliser des séquences d’échappement grâce à l’ANSI-C Quoting (désolé, j’ai pas trouvé de traduction). Exemple :
cut -d $'\t' -f 2 fichier.txt
aze
rty
ui
op
La liste des séquences d’échappement est disponible ici : https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html
L’ANSI-C Quoting est disponible avec toutes les commandes Bash, et permets d’utiliser pas mal de commandes de manière « non standard ». Par exemple, pour affiche la troisième ligne d’un fichier :
cut -d $'\n' -f 3 fichier.txt
Ligne3 ui