[SHELL] Extraction et remplacement chaine
Résolu
xavdoug
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
xavdoug Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
xavdoug Messages postés 21 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'ai un soucis de programmation Shell (csh). Voilà :
J'ai 2 fichiers : un fichier fichier.txt et un fichier fichier_old.txt.
Les 2 fichiers contiennent chacun une ligne "variable = qqchose", et qqchose = 0 dans fichier.txt.
Je désire modifier fichier.txt en remplacant "variable = ce qu'il y a dans fichier.txt par "variable = ce qu'il y a dans fichier_old.txt" sans modifier le reste ...
Je précise que le string variable ne se trouve qu'à un seul endroit ce qui simplifie le problème.
J'ai deja essayé plusieurs choses du genre :
perl -i -pe 's/variable = 0/$`grep variable fichier_old.txt`/g' fichier.txt , mais la commande n'interprète pas le résultat de grep ...
Est-ce que quelqu'un pourrait m'aider ? Ce serait très gentil de votre part ...
Merci d'avance !!!
J'ai un soucis de programmation Shell (csh). Voilà :
J'ai 2 fichiers : un fichier fichier.txt et un fichier fichier_old.txt.
Les 2 fichiers contiennent chacun une ligne "variable = qqchose", et qqchose = 0 dans fichier.txt.
Je désire modifier fichier.txt en remplacant "variable = ce qu'il y a dans fichier.txt par "variable = ce qu'il y a dans fichier_old.txt" sans modifier le reste ...
Je précise que le string variable ne se trouve qu'à un seul endroit ce qui simplifie le problème.
J'ai deja essayé plusieurs choses du genre :
perl -i -pe 's/variable = 0/$`grep variable fichier_old.txt`/g' fichier.txt , mais la commande n'interprète pas le résultat de grep ...
Est-ce que quelqu'un pourrait m'aider ? Ce serait très gentil de votre part ...
Merci d'avance !!!
A voir également:
- [SHELL] Extraction et remplacement chaine
- Remplacement coco - Accueil - Réseaux sociaux
- Coco.fr remplacement - Accueil - Réseaux sociaux
- Classic shell - Télécharger - Personnalisation
- Chaine tnt gratuite sur mobile - Guide
- Chaine radio - Télécharger - Médias et Actualité
6 réponses
Salut dubcek,
Tout d'abord, merci de ta réponse ...
Je viens d'essayer, et malheureusement ça ne marche toujours pas ...
N'y aurait-il pas un moyen avec awk ?
Tout d'abord, merci de ta réponse ...
Je viens d'essayer, et malheureusement ça ne marche toujours pas ...
N'y aurait-il pas un moyen avec awk ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
Essaie avec "sed" :
Essaie avec "sed" :
[jp@MDK xavdoug]$ cat fich.txt bla bla bla variable=0 bla bla bla bli bli bli [jp@MDK xavdoug]$ cat old_fich.txt bla bla bla variable=quelquechose bla bla bla bli bli bli [jp@MDK xavdoug]$ sed 's/variable=0/'$(grep variable old_fich.txt)'/' fich.txt bla bla bla variable=quelquechose bla bla bla bli bli bli [jp@MDK xavdoug]$;-))
Salut jipicy,
Merci de ta réponse, mais malheureusement ça ne marche pas.
J'ai de mon côté, essayé la commande :
sed "s/variable=0/$(grep variable old_fich.txt)/g" fich.txt
Il m'affiche la bonne ligne à l'écran (variable = qqchose) ce qui veut dire qu'il interprète bien la commande grep, mais le fich.txt n'est pas modifié.
Je continue à chercher ..
Merci de me le signaler si vous avez une autre idée.
Merci de ta réponse, mais malheureusement ça ne marche pas.
J'ai de mon côté, essayé la commande :
sed "s/variable=0/$(grep variable old_fich.txt)/g" fich.txt
Il m'affiche la bonne ligne à l'écran (variable = qqchose) ce qui veut dire qu'il interprète bien la commande grep, mais le fich.txt n'est pas modifié.
Je continue à chercher ..
Merci de me le signaler si vous avez une autre idée.