Outils pour utilisateurs

Outils du site


linux:sed (lu 52749 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
linux:sed [26-05-2014 11:59]
edmc73
linux:sed [04-10-2020 12:00] (Version actuelle)
edmc73 [Remplacement / substitution]
Ligne 17: Ligne 17:
 tata 4321 toto tutu tata 4321 toto tutu
 </file> </file>
 +
 +L'option ''-i'' permet d'écrire directement les modifications dans le fichier. Sans l'option, le résultat s'affiche à l'écran
  
 Pour remplacer  **toto** par **koko** on utilise le **s** pour substitution Pour remplacer  **toto** par **koko** on utilise le **s** pour substitution
-  sed -'s/toto/koko/' fichier.txt+  sed -'s/toto/koko/' fichier.txt
    
 <file> <file>
Ligne 26: Ligne 28:
 </file> </file>
  
-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 +On peut remarquer que seule la 1ère occurrence est remplacée, pour remplacer toutes les occurrences, on utilise l'option **g** à la fin de la commande 
-  sed -'s/toto/koko/g' fichier.txt+  sed -'s/toto/koko/g' fichier.txt
 <file> <file>
 koko 1234 koko titi koko 1234 koko titi
Ligne 33: Ligne 35:
 </file> </file>
  
 +Pour ignorer la casse, on utilise l'option **I**
 +  sed -i 's/toto/koko/gI' fichier.txt
 +
 +Remplacer un \ par / dans les path des #include dans un fichier .c
 +  sed -i '/#include/s@\\@/@g' fichier.c
 +  sed -i '/#include/s@\\@/@g' *.c
 +  sed -i '/#include/s@\\@/@g' **/*.c
 +  
 +Pour remplacer dans l'ensemble d'un projet dans des fichiers .c et .h
 +
 +  find . -name '*.[ch]' -exec sed -i '/#include/s@\\@/@g' {} \;
 +et inversement
 +  find . -name '*.[ch]' -exec sed -i '/#include/s@/@\\@g' {} \;
 ==== Translittération ==== ==== Translittération ====
 Pratique pour par exemple remplacer tous les e avec accent par un e sans accent. Pratique pour par exemple remplacer tous les e avec accent par un e sans accent.
linux/sed.1401098395.txt.gz · Dernière modification: 26-05-2014 11:59 de edmc73