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