L’objectif est ici d’afficher les fins de lignes en \n et les tabulations en \t.
En d’autres termes on veut afficher un fichier sans interpréter ces caractères spéciaux.
Prenons l’exemple du fichier test.txt suivant :
essai de texte 2eme ligne avec tablulations 3eme ligne
Il est possible d’utiliser la commande cat avec l’option -A mais la sortie n’est pas exactement ce que l’on veut :
# cat -A test.txt
essai de texte$
2eme ligne avec^I^Itablulations$
3eme ligne$
$
En effet, nous souhaitons \n plutôt que $ et \t plutôt que ^I.
Créons donc le script blank.sh suivant qu’on rendra exécutable :
#!/bin/bash od -t a $1 | awk '{$1=""}1' | awk 'BEGIN{RS="[ \t\n]+";ORS=""; d["sp"]=" "; d["nl"]="\\n\n"; d["ht"]="\\t"; d["cr"] = "\\r"; }length($0)>1{$0=d[$0]}1'
Et exécutons le en lui passant test.txt :
# ./blank.sh test.txt
essai de texte\n
2eme ligne avec\t\ttablulations\n
3eme ligne\n
\n