Linux : utiliser des caractères spéciaux dans Bash

Version courte

Version détaillée

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

Utiliser l’ANSI-C Quoting : $'\t', $'\n',...

La liste des séquences d’échappement est disponible sur cette page : https://www.gnu.org/software/bash/manual/html_node/ANSI_002dC-Quoting.html

Powered by TLDR

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.