Linux Logiciels
Sed
Exemples de manipulations



Pour : Linux


Voici quelque exemples bien pratique de manipulations de Sed:


Afficher que certaines lignes d'un fichier

=> Afficher que la 1ère lignes du fichier:
sed -n 1p /etc/passwd

root:x:0:0:root:/root:/bin/bash

=> Afficher de la ligne 5 à 7 du fichier passwd:
sed -n 5,7p /etc/passwd

sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh

=> Afficher que les lignes non commentées d'un fichier:
cat nom_fichier+extension | sed -e '/^#.*$/d'


Remplacer un mot à une certaine ligne

=> Remplace le mot "sed" par "SED" à la ligne 5:
sed -i '5 s/sed/SED/' fichier.txt


Modifier le contenu d'un fichier

Mettre tout le contenu d'un fichier en majuscule:
sed -i -e 's/.*/\U&/' nom_fichier+extension

Mettre tout le contenu d'un fichier en minuscule :
sed -i -e 's/.*/\L&/' nom_fichier+extension


Ajouter un mot ou une chaine de caractère

Ajouter le mot "ok" devant chaque ligne d'un fichier :
sed -i 's/.*/mot_ou_chaine &/' nom_fichier+extension

Ajouter le mot "ok" après chaque ligne d'un fichier :
sed -i 's/.*/& mot_ou_chaine/' nom_fichier+extension

Ajouter le mot "ok" à la fin de la ou les lignes commençant par le mot "toto":
sed -i -e 's/^\(toto\).*$/& ok/g' nom_fichier+extension

Ajouter le mot "ok" à la fin de la ou les lignes commençant par le mot "toto" et comprenant le mot "mimi":
sed -i -e 's/^\(toto.*mimi\).*$/& ok/g' nom_fichier+extension


Supprimer ligne

Suppression la ou les lignes commençant par le mot "toto":
sed -i -e '/^toto/d' nom_fichier+extension

Vider mais sans supprimer la ou les lignes contenant le mot "toto":
sed -i -e 's/.*toto.*//g' nom_fichier+extension


Voir tutoriel:
Tutoriel - Sed manipuler des chaînes de caractères dans un fichier



Par O.Cédric
Sur www.octetmalin.net

Article publié le:
23/06/2011 18:55






Cette page vous à plus?

Dîtes que vous l'aimez en cliquant sur le bouton Facebook.