Dominique Meeùs
Dernière modification le   
retour à la page principale du dossier

sed

Up: Éditeurs Next: Code

Voir http://www.grymoire.com/Unix/Sed.html

Le nom de la commande sed veut dire Stream Editor. Un exemple de substitution (remplacement) avec sed est

sed 's/day/night/g' myfile > newfile

s veut dire remplacer et g veut dire partout (optionnel). Ici les guillemets ne sont pas indispensables, mais ils le sont si la commande, le script dans la terminologie de sed, était plus complexe et il est donc de bonne politique de les mettre toujours. On peut marquer un script par -e et alors les répéter, en allant à la ligne si l’on veut avec le signe \.

sed \ -e 's/day/night/g' \ -e 's/minute/second/g' \ myfile > newfile

On peut remplacer deux espaces par une tabulation, ou au contraire une tabulation par deux espaces (vielle discussion chez ceux qui indentent leur code).
sed -i "s/ /\t/g" somefile.xml
sed -i "s/\t/ /g" somefile.xml

On peut, sans le déclarer, utiliser un autre séparateur, comme

sed 's_day_night_g’

Vous avez peut-être remarqué qu’un traitement de texte comme LibreOffice, c’est plus lent que des éditeurs simples comme Gedit ou Bluefish. Mais sed, c’est de plusieurs ordres de grandeur encore plus rapide que ces derniers. Cela se sent surtout sur de très gros documents où des recherches et remplacement peuvent planter le traitement de texte ou l’éditeur.

Up: Éditeurs Next: Code
Dominique Meeùs. Date: 2012-05-16