pfo a écrit 3 commentaires

  • [^] # Re: sed

    Posté par  . En réponse au message Cherche exemple de script pour modifier des lignes dans un fichier. Évalué à 1.

    Ok super merci !!!

    SED a en effet fait le boulot sans probleme :

    sed -r -e 's|ErrorLog /home/[a-z0-9]+{7}/var/|ErrorLog /var/log/interworx/|' -e 's|CustomLog /home/[a-z0-9]+{7}/var/|ErrorLog /var/log/interworx/|' -i testsed.conf

    Marche très bien !!!

    Pascal
  • [^] # Re: sed

    Posté par  . En réponse au message Cherche exemple de script pour modifier des lignes dans un fichier. Évalué à 1.

    En gros est ce que quelque chose comme cela pourrait fonctionner :

    sed -e 's|errorlog /home/([a-z0-9]{8})/var/(.+)|errorlog /var/log/meslogs/$2|' -i fichier

    Pascal
  • [^] # Re: sed

    Posté par  . En réponse au message Cherche exemple de script pour modifier des lignes dans un fichier. Évalué à 1.

    Bonjour

    Merci beaucoup pour cette information. Je ne connais en effet pas trop sed

    En fait serait possible de dire à sed de modifier les n premiers caractères d'une chaine ?

    En fait, vous l'avez compris, je veux remplacer le répertoire de logs de tous mes comptes http VHOST.

    Avant j'avais par exemple

    errorlog /home/moncompt/var/mondomaine.com/log/error.log

    il faut savoir que "moncompt" est vraiable d'un compte à un autre mais qu'il fait toujours 8 caractères donc que /home/moncompt/var font toujours 18 caractères

    Je voudrais donc remplacer
    errorlog /home/moncompt/var/mondomaine.com/log/error.log

    par
    errorlog /var/log/apachelogs/mondomaine.com/log/error.log

    Vous voyez que la partie qui est remplacée est une partie de longueur fixe. Les 18 premiers caractères de la chaine "/home/moncompt/var"

    Il y a t'il donc moyen de dire a SED de remplacer seulement ces 18 caractères (qui ne sont pas les premiers de la ligne puisque j'ai avant cela errorlog ou customlog)

    Si cela n'est pas possible je serais obligé de faire un script qui lit tous mes comptes pour trouver le vrai 'moncompt' pour l'inclure dans SED !

    Merci beaucoup par avance !

    Pascal