Sed Tout Puissant

Après vi, voici Sed tout puissant : un autre utilitaire qui peut faire des « trucs sympas »  en ligne de commande.

Tout d’abord, un petit rappel sur l’utilisation de la commande :
#sed -e : permet le passage de commande avec une seule ligne
#sed -f : permet le passage de commande avec un fichier en entrée
#sed -i : modification directement sur le fichier

Voici une suite d’exemples qui montre succinctement la puissance de l’utilitaire « sed » :
-affiche les lignes qui commencent par dièse (avec un embryon de regexp : caractère « ^ » qui se positionne sur le début de la ligne)

sed -n '/^#/p' fichier.txt

-dans le même genre (mais en plus violent…) suppression de commentaire dans un fichier (avec « ^# » pour la selection/positionnement de la ligne  et « d » pour la supprimer)

sed '/^#/d' fichier.txt

-la translittération (là, ça le fait peut-être un peu trop…) ligne de commande qui permet de supprimer tous les accents indésirables dans un fichier…

sed -i fichier.txt -e 'y/éèê/eee/'

-dans tous les fichiers du répertoire courant, remplace tous les « e » en « b » (ouah, super utile ça…) mais en faisant une sauvegarde du fichier en .bak ( et ça, c’est plutot pas mal !)

for f in in $(ls);do
sed -i.bak -e 's/e/b/' $f
done

-renomme tous les fichiers .JPG (moche !) en *.jpg

for f in in $(ls *.JPG);do
fn=$(echo $f|sed 's/JPG/jpg/')
mv $f $fn
done

-un petit dernier pour la route : suppression de tous les caractères spéciaux d’un fichier « pourri » :

cat ficPourri.log|sed  -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g">ficOK.log

C’est tout pour le monement !
Sed offre tout plein de possibilité : a vous de les découvrir 🙂
ici : https://fr.wikipedia.org/wiki/Stream_Editor
ou là : http://www.siteduzero.com/informatique/tutoriels/la-commande-sed