c'est vrai que ta raison gaaaaaAab , awk lira tout mon fichier httpd.conf , ligne par ligne et que à chaque fois il va tester le motif et faire traitement si motif est verifié. c'est pas du tout optimisé mais bon j'ai appris des choses comme même :-). bon je vais me tirer les cheveux avec ton sed ;-)
voilà mon premier essaie :
sed -e 's/"$(head -1 temp)"/toto/' httpd.conf > httpd.conf.tmp
mais ceci n'a l'air de ne rien faire. alors peux tu m'aider please.
marche très bien, je te remercie et je remercie tous les collègues qui m'ont soutenu. Je suis très impressionnée par votre réactivité. Bon courage à tous le monde.
[^] # Re: quelques pistes ...
Posté par loukili . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.
[^] # Re: quelques pistes ...
Posté par loukili . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.
voilà mon premier essaie :
sed -e 's/"$(head -1 temp)"/toto/' httpd.conf > httpd.conf.tmp
mais ceci n'a l'air de ne rien faire. alors peux tu m'aider please.
[^] # Re: quelques pistes ...
Posté par loukili . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.
maitenant il faut que je fait de même pour la chaine de remplacement, elle aussi à lire à partir du fichier temp (2ème ligne), j'ai essayé ceci :
awk -v var="$(head -1 temp)" var2="$(tail -1 temp)" ' { if ($0 ~ var) { $0=var2 } print $0 } ' httpd.conf > httpd.conf.tmp
var2 prend la valeur de la deuxième ligne de mon fichier temp (SSLRequire %{ SSL_CLIENT_M_SERIAL} in {00,11,22} )mais j'ai comme même une erreur :
awk: cmd. line:1: var2=SSLRequire %{ SSL_CLIENT_M_SERIAL} in {00,11,22}
awk: cmd. line:1: ^ parse error
awk: cmd. line:1: var2=SSLRequire %{ SSL_CLIENT_M_SERIAL} in {00,11,22}
awk: cmd. line:1: ^ parse error
est ce que c'est une erreur de syntaxe ?
merci 1000...000 fois pour tous.
[^] # Re: quelques pistes ...
Posté par loukili . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.
awk -v var="$(head -1 temp)" ' { if ($0 ~ var) { $0="toto" } print $0 } ' httpd.conf > httpd.conf.tmp
[^] # Re: quelques pistes ...
Posté par loukili . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.
awk -v var="$(head -1 fichier)" ' (NR==1) {if ($0 ~ var) { $0="toto" } print $0 } ' httpd.conf > httpd.conf.tmp
marche très bien, je te remercie et je remercie tous les collègues qui m'ont soutenu. Je suis très impressionnée par votre réactivité. Bon courage à tous le monde.
[^] # Re: quelques pistes ...
Posté par loukili . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.
là j'ai écrit:
head -1 temp | awk -v var ' { if ($0 ~ var) { $0="toto" } print $0 } ' httpd.conf > httpd.conf.tmp
mais ça ne marche pas, c'est normale car comment je peux indiquer que la valeur de retour de head représente var ??
[^] # Re: quelques pistes ...
Posté par loukili . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.
là j'ai écrit:
head -1 temp | awk -v var ' { if ($0 ~ var) { $0="toto" } print $0 } ' httpd.conf > httpd.conf.tmp
mais ça ne marche pas, c'est normale car comment je peux indiquer que la valeur de retour de head représente var ??
[^] # Re: quelques pistes ...
Posté par loukili . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.
awk -v var="ma_chaine" ' { if ($0 ~ var) { $0="toto" } print $0 } ' httpd.conf > httpd.conf.tmp
maintenant comment affecter à var la valeur retournée d'une autre commande (head ) au lieu de faire passe la chaine elle même ?
best regards.
[^] # Re: quelques pistes ...
Posté par loukili . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.
[^] # Re: sed
Posté par loukili . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.
[^] # Re: quelques pistes ...
Posté par loukili . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.
mais j'ai une question encore, en effet la chaine à rechercher est à lire à partir d'un fichier. je peux la récupérer par :
head -1 mon_fichier
ma question c'est comment je peux passer le résultat de head a la fonction awk ?
[^] # Re: quelques pistes ...
Posté par loukili . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.
[^] # Re: sed
Posté par loukili . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.
sed: invalid option -- i
j'ai essayé avec la syntaxe :
sed -i 's/plop/mega_totoz/' httpd.conf
mais j'ai la même erreur.
merci bcp à tout le monde
[^] # Re: quelques pistes ...
Posté par loukili . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 2.