loukili a écrit 14 commentaires

  • [^] # Re: quelques pistes ...

    Posté par  . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.

    ah d'accord, merci beaucoup à vous tous, c'est très gentil de votre part. je vous souhaite très bonne continuation.
  • [^] # Re: quelques pistes ...

    Posté par  . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.

    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.
  • [^] # Re: quelques pistes ...

    Posté par  . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.

    j'ai une toute dernière question :-) j'espère que je vous embête pas trop.

    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  . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.

    pardon c'était ça ;-)

    awk -v var="$(head -1 temp)" ' { if ($0 ~ var) { $0="toto" } print $0 } ' httpd.conf > httpd.conf.tmp
  • [^] # Re: quelques pistes ...

    Posté par  . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.

    merci bcp toto , ta solution :

    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  . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.

    STP est ce que tu peux me donner plus de précision :
    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  . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.

    STP est ce que tu peux me donner plus de précision :
    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  . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.

    j'ai trouvé ça :
    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  . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.

    ah oui mais l'option "-i " ne marche pas chez moi et le code doit être portable.
  • [^] # Re: sed

    Posté par  . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.

    je travaille en fait sur un serveur unix.
  • [^] # Re: quelques pistes ...

    Posté par  . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.

    ouups ! c'était de ma faute, c'est bon maintenant :) merci beaucoup.

    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  . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.

    ah ok là je viens de retester , mais ma ligne à modifiée est totalement supprimée.
  • [^] # Re: sed

    Posté par  . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 1.

    j'ai essayer ta fonction Plop mais l'option -i ne passe pas. j'ai l'erreur :
    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  . En réponse au message rehercher puis modifier une ligne dans un fichier. Évalué à 2.

    merci beaucoup totof2000 , mais ceci ne modifie pas le contenu de mon fichier, moi je cherche à remplacer la ligne trouvée par une autre.