(→Truc et astuces) |
(→Truc et astuces) |
||
Ligne 14 : | Ligne 14 : | ||
==Truc et astuces== | ==Truc et astuces== | ||
- | + | ===récupérer une valeur dans un fichier contenant cle=valeur, avec une cle unique=== | |
+ | Le séparateur peut être <b>= : |</b><br> | ||
<pre>sed -n 's/^cle[ \t]*[:=\|][ \t]*[ \t]*$//p' fichier.ini</pre> | <pre>sed -n 's/^cle[ \t]*[:=\|][ \t]*[ \t]*$//p' fichier.ini</pre> | ||
- | l'option -n correspond a | + | *l'option -n correspond a silencieux. Avec p pour print en fin de commande, seul les lignes sélectionnés sont affiché. |
- | + | *L'inconvienuent de cette commande est qu'elle renvoi tout ce qui ce trouve après des espaces ou tabulation derriere le caractère de separation. Notamment les commentaires si vous en avez mis. | |
- | L'inconvienuent de cette commande est qu'elle renvoi tout ce qui ce trouve | + | |
- | * | + | * Ici,les commentaires se trouvant sur la meme ligne sont supprimé:<pre>sed '/^cle[ \t]*[:=\|][ \t]*/!d;s/^cle[ \t]*[:=\|][ \t]*//;s/#.*//' fichier.ini</pre> |
**<b>/^cle[ \t]*[:=\|][ \t]*/!d</b> va retenir la ligne commencant par cle avec le séparateur | **<b>/^cle[ \t]*[:=\|][ \t]*/!d</b> va retenir la ligne commencant par cle avec le séparateur | ||
**<b>s/^cle[ \t]*[:=\|][ \t]*//</b> supprime la cle, le separateur et les espaces et tabulations se trouvant autour du separateur. | **<b>s/^cle[ \t]*[:=\|][ \t]*//</b> supprime la cle, le separateur et les espaces et tabulations se trouvant autour du separateur. | ||
**<b>;s/#.*//</b> supprime le caractère dièse et tout ce qui ce trouve après, soit les commentaires. | **<b>;s/#.*//</b> supprime le caractère dièse et tout ce qui ce trouve après, soit les commentaires. |
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
Le séparateur peut être = : |
sed -n 's/^cle[ \t]*[:=\|][ \t]*[ \t]*$//p' fichier.ini
sed '/^cle[ \t]*[:=\|][ \t]*/!d;s/^cle[ \t]*[:=\|][ \t]*//;s/#.*//' fichier.ini