preload preload preload preload

sed : effectuer une substitution uniquement sur la dernière ligne


Le jeudi 18 avril 2013 par madpellzo Linux, Shell Script 3 commentaires
Cette article vous explique comment effectuer une substitution d'un caractère uniquement sur la dernière ligne d'un  fichier grâce à la commande Unix "sed".
Nous avons un fichier (nommé "fichier") qui ressemble à ceci :

toto,
titi,
tata,
tutu,
tete,

Nous souhaitons enlever la virgule de la dernière ligne uniquement. Vous me direz, un bon vieux vi et hop le tour est joué. Mais, c'est trop simple, utilisons plutôt sed

Si on exécute cette commande:

sed 's/,//' fichier

Le résultat est le suivant :

toto
titi
tata
tutu
tete


sed nous a supprimé toutes les occurence "," qu'il a trouvé dans notre fichier.

Pour cibler la dernière ligne, rajouter "$" juste avant le "s" de la substitution :

sed '$s/,//' fichier

Le résultat est le suivant :

toto,
titi,
tata,
tutu,
tete

Magique ! En fait le $ représente la dernière ligne d'un fichier et positionne le sed sur celle-ci.

sed, c'est bien. Bon OK, je sors.

Mots clés : aucun

  • Ecrire un commentaire








    Quelle est la dernière lettre du mot exed ?