Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
linux:sed [01-11-2013 21:41] 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 | ||
</ | </ | ||
+ | |||
+ | L' | ||
Pour remplacer | Pour remplacer | ||
- | sed -e ' | + | sed -i ' |
< | < | ||
Ligne 26: | Ligne 28: | ||
</ | </ | ||
- | On peut remarquer que seul la 1ère occurence | + | On peut remarquer que seule la 1ère occurrence |
- | sed -e ' | + | sed -i ' |
< | < | ||
koko 1234 koko titi | koko 1234 koko titi | ||
Ligne 33: | Ligne 35: | ||
</ | </ | ||
+ | Pour ignorer la casse, on utilise l' | ||
+ | sed -i ' | ||
+ | |||
+ | Remplacer un \ par / dans les path des #include dans un fichier .c | ||
+ | sed -i '/# | ||
+ | sed -i '/# | ||
+ | sed -i '/# | ||
+ | | ||
+ | Pour remplacer dans l' | ||
+ | |||
+ | find . -name ' | ||
+ | et inversement | ||
+ | find . -name ' | ||
==== 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. | ||
Ligne 59: | Ligne 74: | ||
Avec les **[ ]** et spécifie que la ligne commente par un **#** ou un **;**. Le **;** suivant veut dire que nous lançons une autre commande, celle ci dit que nous cherchons une ligne vide. **^** indique le début de la ligne et **$** la fin. **/d** on delete. | Avec les **[ ]** et spécifie que la ligne commente par un **#** ou un **;**. Le **;** suivant veut dire que nous lançons une autre commande, celle ci dit que nous cherchons une ligne vide. **^** indique le début de la ligne et **$** la fin. **/d** on delete. | ||
+ | Supprimer les lignes qui contient un message d' | ||
+ | sed -e '/HTTP accept: Too many open files/ | ||
Éliminer les espaces et tabulations | Éliminer les espaces et tabulations | ||
Ligne 99: | Ligne 116: | ||
Ici on a rajouté **1d** qui permet de supprimer la 1ère ligne. | Ici on a rajouté **1d** qui permet de supprimer la 1ère ligne. | ||
- | ==== Regexp extended ==== | + | ===== Exemple en vrac ===== |
+ | |||
+ | Source | ||
+ | < | ||
+ | dublablacodecode< | ||
+ | |||
+ | Résultat | ||
+ | < | ||
+ | fichier2.xyz</ | ||
+ | |||
+ | Sed | ||
+ | < | ||
+ | |||
+ | ==== Extraire la date et la reformaté dans un nom de fichier ==== | ||
+ | |||
+ | |||
+ | $ echo Pict_20140215_0945.jpg | sed -r ' | ||
+ | 15-02-2014 09:45 | ||
+ | |||
+ | ==== Extraire la valeur d'un test avec hdparm ==== | ||
+ | On veut récupérer la valeur 64.66 | ||
+ | < | ||
+ | |||
+ | /dev/sda: | ||
+ | | ||
+ | |||
+ | hdparm -t /dev/sda | sed -r '/ | ||
+ | |||
+ | Avec le ''/ | ||
+ | '' | ||
+ | On prend la valeur jusqu' | ||
+ | |||
+ | |||
+ | ==== Connaitre les machines connectées à notre serveur NFS ==== | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | |||
+ | ===== Regexp extended | ||
On peut mettre l' | On peut mettre l' | ||
Ligne 105: | Ligne 161: | ||
> | > | ||
> | > | ||
- | >The only difference between basic and extended regular expressions is in the behavior of a few characters: ‘?’, ‘+’, parentheses, | + | >The only difference between basic and extended regular expressions is in the behavior of a few characters: ‘?’, ‘+’, parentheses, |
> | > | ||
> | > | ||
> | > | ||
- | >abc? | + | > |
- | >becomes | + | > |
- | >c\+ | + | > |
- | >becomes | + | > |
- | >a\{3,\} | + | > |
- | >becomes | + | |
- | > | + | |
- | >becomes | + | |
- | > | + | |
- | >becomes | + | |