Remplacer mot dans un fichier txt avec bash [Résolu/Fermé]

Signaler
-
Messages postés
40
Date d'inscription
mardi 10 mars 2009
Statut
Membre
Dernière intervention
5 juin 2013
-
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.

11 réponses

Messages postés
40
Date d'inscription
mardi 10 mars 2009
Statut
Membre
Dernière intervention
5 juin 2013
1
Pour se qui veulent la commande, c'est :
sed -i.bak 's/mot-a-remplacer/remplacer-par/g' votre_fichier
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 837
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.
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 837
Re-

Essaye ça :

sed 's#\(http://\)\([^/]*\..\{2,3\}/\)\([^ ]*\)#\1mon.nouveau.site/\3#g'

Mais bon sans exemples précis, ce n'est pas évident...
En gros, c'est sa que je veux changer:
http://linux.hebergeur.org
en
http://linux.site.com
Bonjour.
Je voudrais en gros, changer:
http://linux.hebergeur.org
en:
http://linux.site.com

Merci d'avance.
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 837
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. ?
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 837
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
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 837
 sed 's#\(http://eeepc-linux\.\)[^ ]*#\1site\.com#g'

Dans ta commande, tu dit pas que il modifier lesigales.org par site.com, ni dans quelle fichier.
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 837
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.
Messages postés
40
Date d'inscription
mardi 10 mars 2009
Statut
Membre
Dernière intervention
5 juin 2013
1
Merci, sa a marché, pas au debut, mais la 2eme fois, sa a marché.

Encore merci pour ton aide.