Remplacer mot dans un fichier txt avec bash
Résolu
alex
-
alexis38460 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
alexis38460 Messages postés 44 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous.
J'ai un fichier XML, un peu comme un fichier txt.
A l'interieur, j'ai plein de ligne, exemple: <p>blabla</p>.
Je voudrais modifier une phrase par ligne de commande bash.
Le texte resemble a sa :
http://monsite.alex/photo/fi.png
par
http://site.alex/photo/fi.png
En gros, la commande, changera que : http://monsite.alex en http://site.alex sans touché a se que il y a après (/photo/fi.png)
Merci d'avance pour votre aide.
J'ai un fichier XML, un peu comme un fichier txt.
A l'interieur, j'ai plein de ligne, exemple: <p>blabla</p>.
Je voudrais modifier une phrase par ligne de commande bash.
Le texte resemble a sa :
http://monsite.alex/photo/fi.png
par
http://site.alex/photo/fi.png
En gros, la commande, changera que : http://monsite.alex en http://site.alex sans touché a se que il y a après (/photo/fi.png)
Merci d'avance pour votre aide.
11 réponses
-
Pour se qui veulent la commande, c'est :
sed -i.bak 's/mot-a-remplacer/remplacer-par/g' votre_fichier -
Salut,
jp@MDK:~/tmpfs ssh$ cat plop Bonjour à tous. J'ai un fichier XML, un peu comme un fichier txt. A l'interieur, j'ai plein de ligne, exemple: <p>blabla</p>. Je voudrais modifier une phrase par ligne de commande bash. Le texte resemble a sa : http://monsite.alex/photo/fi.png par http://site.alex/photo/fi.png En gros, la commande, changera que : http://monsite.alex en http://site.alex sans touché a se que il y a après (/photo/fi.png) Merci d'avance pour votre aide. jp@MDK:~/tmpfs ssh$ sed -i.bak 's/mon\(site.alex\)/\1/' plop jp@MDK:~/tmpfs ssh$ cat plop Bonjour à tous. J'ai un fichier XML, un peu comme un fichier txt. A l'interieur, j'ai plein de ligne, exemple: <p>blabla</p>. Je voudrais modifier une phrase par ligne de commande bash. Le texte resemble a sa : http://site.alex/photo/fi.png par http://site.alex/photo/fi.png En gros, la commande, changera que : http://site.alex en http://site.alex sans touché a se que il y a après (/photo/fi.png) Merci d'avance pour votre aide. jp@MDK:~/tmpfs ssh$
:-))
-
Merci pour ton aide, mais je me suis mal expliqué. Désolé.
Je voudrais changer dans un fichier txt, tout les mot :
http://linux.hebergeur.org/word/
en
http://linux.site.com
Merci pour ton aide. -
Re-
Essaye ça :
sed 's#\(http://\)\([^/]*\..\{2,3\}/\)\([^ ]*\)#\1mon.nouveau.site/\3#g'
Mais bon sans exemples précis, ce n'est pas évident...
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
Bonjour.
Je voudrais en gros, changer:
http://linux.hebergeur.org
en:
http://linux.site.com
Merci d'avance. -
Dans ton 1er message tu faisais allusion au fait qu'il puisse y avoir des choses à conserver après le ".org", ce n'est plus le cas ?
Toutes tes adresses commencent par http://linux. ?
-
Si ça commence par http://linux. :
sed 's#\(http://linux\.\)[^ ]*#\1mon_nouveau_site\.com#g'
Devrait le faire ;-))
-
Re bonjour. Pour aller plus vite, je voudrais:
http://eeepc-linux.lescigales.org
devient
http://eeepc-linux.site.com
En gros, .lescigales.org devient .site.com
Merci -
Dans ta commande, tu dit pas que il modifier lesigales.org par site.com, ni dans quelle fichier.
-
Le fichier il suffit de le rajouter après la commande.
Si ce n'est que substituer "lesigales.org par site.com", un simple :
sed -i.bak 's/lesigales.org/site.com/g' fichier
Suffit amplement. Le "-i.bak" permet de modifier le fichier d'origine et d'en faire une copie au-préalable avec une extension .bak.
-
-
Merci, sa a marché, pas au debut, mais la 2eme fois, sa a marché.
Encore merci pour ton aide.