Sed, c'est bienSed est une commande très pratique mais très mla connue. elle est souvent utilisée comme un moteur d'expressions régulières simple pour modifier une ligne, mais en réalité, sed est bien plus que ça ! Ersatz de grepOn peut, grace à elle, se passer de l'utilisation de grep. En effet, si un script shell, plutot conséquent, exécute plusieur milliers de fois des commande de type 'grep | sed' dans une boucle, le shell forkera une fois par commande. Si on peut se passer de l'utilisation de grep, on gagne beaucoup de temps (le fork est tres lourd). Un exemple concret:On veut recupérer la liste des smileys de toto. on pourrais facilement faire grep 'toto' | sed -e 's/toto //'. Avec sed, on peut ecrire ceci: cat <<EOF | sed -e 's/toto //; t; d' toto :-) tata :-( toto 8-) EOF Juste pour faire comme grepPour émuler un simple grep 'toto': cat <<EOF | sed -n '/toto/p' toto :-) tata :-( toto 8-) EOF Explications:la commande 's///' effectue un remplacement, en l'occurance, je remplace 'toto ' par rien. la commande 't' effectue un saut conditionnel. Si la commande 's///' matche, t saute à la fin des commandes et affiche le resultat. la commande 'd' efface le resultat et demarre le cycle suivant. Donc, si la commande 's///' échoue, on n'afiche pas le résultat et on traite la ligne suivante. Joindre des entrées de lignes n à nExempleUn exemple sera bien plus parlant que de longues explications. On a, par exemple, un fichier contenant les données suivantes: Attribut Valeur Age 28ans Ville Perpignan Pays France Ecran Couleur Pour des raisons pratiques, on souhaiterai avoir la liste sous ce format: Attribut: Valeur Age: 28ans Ville: Perpignan Pays: France Ecran: Couleur La commande est la suivante: sed -e 'N; s/\n/: /g' Explications:Le 'N' ajoute la prochaine ligne à traiter à l'espace de traitement existant, la substitution remplace le saut de ligne entre les deux mots et le remplace par un ': ' |