(→récupérer une valeur dans un fichier contenant cle=valeur, avec une cle unique) |
(→Truc et astuces) |
||
(3 versions intermédiaires masquées) | |||
Ligne 28 : | Ligne 28 : | ||
*l'option -n correspond a silencieux. Avec p pour print en fin de commande, seul les lignes sélectionnés sont affiché. | *l'option -n correspond a silencieux. Avec p pour print en fin de commande, seul les lignes sélectionnés sont affiché. | ||
*l'inconvénient de cette commande est qu'elle renvoi tout ce qui ce trouve après la clé+espaces ou tabulation+caractère de séparation. Notamment les commentaires si vous en avez mis sur la même ligne | *l'inconvénient de cette commande est qu'elle renvoi tout ce qui ce trouve après la clé+espaces ou tabulation+caractère de séparation. Notamment les commentaires si vous en avez mis sur la même ligne | ||
- | + | <br> | |
- | Ici,les commentaires se trouvant sur la même ligne sont supprimé:<pre>sed '/^cle[ \t]*[:=|][ \t]*/!d;s/ | + | Ici,les commentaires se trouvant sur la même ligne sont supprimé:<pre>sed '/^cle[ \t]*[:=|][ \t]*/!d;s/[ \t]*//g;s/^cle[:=|]//;s/#.*//g' fichier.ini</pre> |
- | *<b>/^cle[ \t]*[:=|][ \t]*/!d</b> | + | *<b>/^cle[ \t]*[:=|][ \t]*/!d</b> sélectionne la ligne commençant par cle avec le séparateur et supprime les autres |
- | *<b>s/ | + | *<b>s/[ \t]*//g</b> supprime les tabulations et espaces de la ligne. |
- | *<b>s/ | + | *<b>s/^cle[:=|]//</b> supprime la cle et le séparateur |
+ | *<b>s/#.*//g</b> supprime les commentaires commençant par # |
Sommaire |
http://www.commentcamarche.net/faq/9559-sed-introduction-a-sed-part-i
http://www.commentcamarche.net/faq/9559-sed-introduction-a-sed-part-ii
http://www.commentcamarche.net/faq/9559-sed-introduction-a-sed-part-iii
http://doc.ubuntu-fr.org/sed
http://www.corporesano.org/doc-site/grepawksed.html
http://sed.sourceforge.net/sed1line_fr.html
[ ] une alternative de caractere. [dzYTP] indique qu'il s'agit d'un caractere parmis dzYTP.
\t pour tabulationlation. a mettre a la fin d'une sequence entre crochet: [ \t]* correspond a 0 ou une infinité d'espaces ou tabulations qui se suivent
Le séparateur peut être = : |
sed -n 's/^cle[ \t]*[:=|][ \t]*//p' fichier.ini
sed '/^cle[ \t]*[:=|][ \t]*/!d;s/[ \t]*//g;s/^cle[:=|]//;s/#.*//g' fichier.ini