Nettoyer un fichier texte avec sed

Hello World

sed is not dead!

Linux regorge de programmes en ligne de commande qui sont de vraies perles.

Voici sed qui permet des transformations de masse en toute simplicité de vos fichiers texte.

Présentation de sed

sed est un éditeur de flux en ligne de commande. Il opère des transformations de texte du flux entrant. Ces transformations peuvent être conditionnées. sed reconnait les patterns.

Remplacer un mot par un autre

Remplacer toutes les occurrences d'un mot par un autre :

$ sed 's/mot avant/mot après/gw' fichier.txt

Remplacer les 3 premières occurrences des 10 premières lignes d'un mot par un autre :

$ sed '1,10s/mot avant/mot après/3w' fichier.txt

Remplacer toutes les occurrences d'un mot par un autre sur les lignes qui se terminent par le mot ici :

$ sed '/ici$/s/mot avant/mot après/gw' fichier.txt

Supprimer les 4 premiers caractères de chaque ligne :

$ sed 's/^....//gw' fichier.txt

Supprimer tous les commentaires et toutes les lignes vides d'un script Shell :

$ sed -e 's/#.*//;/^$/d' fichier.sh

Supprimer tous les balises HTML d'un fichier :

$ sed -e 's/<[^>]*>//gw' fichier.html