shell_intercaler_une_chaine_de_caracteres_dans_une_liste

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.

  • shell_intercaler_une_chaine_de_caracteres_dans_une_liste.txt
  • Dernière modification: 2010/12/03 07:27
  • (modification externe)