#1 Le 05/11/2018, à 20:22
- aymenoss
modifier données dans des fichiers scripts avec un script shell ?
j'ai besoin de changer un chemin "hello/world/text.txt" dans un fichier .sh.
je peux utliser la methode sed -i pour remplacer un ligne entier.
sed -i "/2/c hello world" text.sh
mais pour le chemins comment je peux le declarer.
merci
Dernière modification par aymenoss (Le 05/11/2018, à 20:47)
Hors ligne
#2 Le 05/11/2018, à 20:33
- melixgaro
Re : modifier données dans des fichiers scripts avec un script shell ?
salut,
La commande sed ne modifie pas le fichier (sauf si on le lui demande) mais retourne le résultat sur la sortie standard. Une lecture du manuel avec
man sed
te montrera qu'il faut utiliser l'option -i pour appliquer les modifs (sois sûr/e de toi, il n'y aura pas de retour en arrière possible !).
Tu es sûr/e d'avoir besoin de sudo ?
Linux depuis ~2007. Xubuntu seulement.
Hors ligne
#3 Le 05/11/2018, à 20:34
- diesel
Re : modifier données dans des fichiers scripts avec un script shell ?
il te faut faire un sed -i
Amicalement.
Jean-Marie
P.S. Zut !, grillé par melixgaro
Dernière modification par diesel (Le 05/11/2018, à 20:49)
Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.
Hors ligne
#4 Le 05/11/2018, à 20:49
- aymenoss
Re : modifier données dans des fichiers scripts avec un script shell ?
pour le chemin comment je peux l'integrer avec sed?
hello/world/text1.sh
Hors ligne
#5 Le 05/11/2018, à 20:50
- diesel
Re : modifier données dans des fichiers scripts avec un script shell ?
Comprends pas. Ce chemin, tu veux qu'il soit dans ton fichier script ou c'est juste pour désigner ton fichier script ?
Amicalement.
Jean-Marie
Dernière modification par diesel (Le 05/11/2018, à 20:54)
Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.
Hors ligne
#6 Le 05/11/2018, à 21:25
- aymenoss
Re : modifier données dans des fichiers scripts avec un script shell ?
je veux qu'il soit dans mon fichier script
Hors ligne
#7 Le 05/11/2018, à 21:33
- Watael
Re : modifier données dans des fichiers scripts avec un script shell ?
te montrera qu'il faut utiliser l'option -i pour appliquer les modifs (sois sûr/e de toi, il n'y aura pas de retour en arrière possible !).
l'option -i de GNU sed accepte un argument qui sera utiliser comme extension d'une sauvegarde du fichier original (avant modification).
pour utiliser des chemins avec sed, il faut remplacer le séparateur / par n'importe quel caractère qui n'apparaît pas dans les expressions :
sed 's@/chemin/vers/...@/remplacement/vers/...@
sed '\@/chemin/vers/...@{commandes}'
Dernière modification par Watael (Le 05/11/2018, à 21:46)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#8 Le 05/11/2018, à 21:39
- melixgaro
Re : modifier données dans des fichiers scripts avec un script shell ?
ah watael, je voulais inciter le demandeur à jeter un œil au man et il ou elle aurait vu qu'on pouvait faire une sauvegarde du fichier et le modifier en un seul coup…
Linux depuis ~2007. Xubuntu seulement.
Hors ligne
#9 Le 05/11/2018, à 21:45
- Watael
Re : modifier données dans des fichiers scripts avec un script shell ?
alors, il fallait teaser : « RTFM! -i n'est peut-être pas irrémédiable... »
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#10 Le 05/11/2018, à 22:41
- aymenoss
Re : modifier données dans des fichiers scripts avec un script shell ?
merci watael, c'est très gentille, tu es le meilleur.
Hors ligne