(→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 | + | * ré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> |
| - | + | <pre>sed -n 's/^cle[ \t]*[:=\|][ \t]*[ \t]*$//p' fichier.ini</pre> | |
| - | * | + | l'option -n correspond a silentieux. Avec p pour print en fin de commande, seul les lignes selectionnés sont affiché. |
| + | <br> | ||
| + | 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. | ||
| + | |||
| + | * é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>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 caractere diese et tout ce qui ce trouve apres, 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