shell awk perl
Shell - Intercaler une chaîne de caractères dans une liste
Imaginons le fichier suivant nommé “file.txt” :
LIGNE A LIGNE B LIGNE C
Pour obtenir la sortie suivante :
LIGNE A * NOUVELLE CHAINE * LIGNE B * NOUVELLE CHAINE * LIGNE C
Il est possible d'utiliser l'une des deux commandes suivantes :
cat file.txt | perl -pe 'print "* NOUVELLE CHAINE *\n" if( $. != 1 );'
ou
cat file.txt | awk '{if (NR == 1) { tmp=$0 } else { print tmp"\n* NOUVELLE CHAINE*"; tmp=$0 }} END { print tmp }'
L’intérêt est de ne pas avoir la chaîne “* NOUVELLE CHAINE *” en début ou fin de sortie.