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