Outils pour utilisateurs

Outils du site


Panneau latéral

linux:sed (lu 52777 fois)

Ceci est une ancienne révision du document !


sed

Description

sed est un outils très puissant permettant de transformer le texte du flux entrant.

Exemples

Remplacement / substitution

Prenons un fichier exemple

toto 1234 toto titi
tata 4321 toto tutu

Pour remplacer toto par koko on utilise le s pour substitution

sed -e 's/toto/koko/' fichier.txt
koko 1234 toto titi
tata 4321 koko tutu

On peut remarquer que seul la 1ère occurence est remplacé, pour remplacer toutes les occurences, on utilise l’option g à la fin de la commande

sed -e 's/toto/koko/g' fichier.txt
koko 1234 koko titi
tata 4321 koko tutu

Translittération

Pratique pour par exemple remplacer tous les e avec accent par un e sans accent.

sed -e 'y/éèêë/eeee/' fichier.txt

Ou pour crypter/décrypter

sed -e 'y/abcdefghijklmnopqrstuvwxyz/mnopqrstuvwxyzabcdefghijkl/' fichier.txt

Suppression

Pour supprimer toutes les lignes de commentaire qui commence par exemple par #, on utilise l’option d pour delete à la fin de la commande

sed -e '/^#/d' fichier.txt

Exemple avec un fichier de conf qui comporte des lignes commentés avec un ; et qui comportent beaucoup de lignes vide.

sed -e '/^[#;]/d;/^$/d' /etc/samba/smb.conf

Avec les [ ] et spécifie que la ligne commente par un # ou un ;. Le ; suivant veut dire que nous lançons une autre commande, celle ci dit que nous cherchons une ligne vide. ^ indique le début de la ligne et $ la fin. /d on delete.

linux/sed.1360922663.txt.gz · Dernière modification: 04-04-2013 22:05 (modification externe)