<![CDATA[Forum Ubuntu-fr.org / [Résolu] Sed pour modifier des fichiers de config]]> http://forum.ubuntu-fr.org/viewtopic.php?id=380121 Mon, 22 Feb 2010 22:10:31 +0000 FluxBB <![CDATA[Réponse à : [Résolu] Sed pour modifier des fichiers de config]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=3296552#p3296552 Je comprend mieux en tout cas wink Ca ne ressemble pas à la structure "typique" de ce que j'avais trouvé via notre ami Google.

]]>
Mon, 22 Feb 2010 22:10:31 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=3296552#p3296552
<![CDATA[Réponse à : [Résolu] Sed pour modifier des fichiers de config]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=3293798#p3293798 meuh non c'est tout facile :

sed '0,/pattern/{/pattern/s#.*#//&#}' fichier

sed → bon c'est la commande
'…' → les commandes interprétées pas sed
0,/pattern/ → on travaille sur les lignes comprises entre le début et celle contenant le premier "pattern"
{} → sur les lignes précédentes on exécute les commandes entre {}
/pattern/ → on travaille sur les lignes contenant pattern (ici une seule étant donné la sélection prédédente)
/s#.*#//&# → sur ces lignes on substitue (s) le motif "la plus grande suite de n'importe quels caractères" (.*) (toute la ligne quoi) par lui même (&) précédé de //

voilà big_smile

]]>
Sun, 21 Feb 2010 19:28:59 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=3293798#p3293798
<![CDATA[Réponse à : [Résolu] Sed pour modifier des fichiers de config]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=3293690#p3293690 Merci ça m'a bien aidé, je trouve que sed est franchement incompréhensible.

Pour aide à ceux qui viendront, voici une commande pour remplacer une ligne concernant un paramètre params.user en lui donnant la valeur "toto" dans un fichier de config ini. Attention la valeur est directement modifiée dans le fichier.

sed -i 's/^params\.user.*$/params.user = "toto"/' monfichier.ini
]]>
Sun, 21 Feb 2010 18:42:34 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=3293690#p3293690
<![CDATA[Réponse à : [Résolu] Sed pour modifier des fichiers de config]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=3289753#p3289753 ceci fait-il l'affaire ?

sed '0,/pattern/{/pattern/s#.*#//&#}' fichier

ajoute l'option -i à sed pour faire la modification dans le fichier

]]>
Fri, 19 Feb 2010 22:57:55 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=3289753#p3289753
<![CDATA[[Résolu] Sed pour modifier des fichiers de config]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=3289532#p3289532 Bonjour à vous,

J'aimerais me faire un petit script pour faciliter le déploiement d'une application. L'idée ce serait après en avoir récupèré le contenu de modifier des fichiers de config pour la configurer comme il se doit.

J'aimerais être capable de chercher une ligne matchant une expression régulière et la précéder d'un commentaire '//' dans mon cas et chercher une ligne juste par un préfixe et la remplacer par une autre. J'ai du mal à trouver comment dire à sed que je veux m'arrêter à la ligne et ne pas aller plus loin.

Merci d'avance

AsTeR

]]>
Fri, 19 Feb 2010 21:13:44 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=3289532#p3289532