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 !
[^] # Re: sed
Posté par pfo . En réponse au message Cherche exemple de script pour modifier des lignes dans un fichier. Évalué à 1.
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 pfo . En réponse au message Cherche exemple de script pour modifier des lignes dans un fichier. Évalué à 1.
sed -e 's|errorlog /home/([a-z0-9]{8})/var/(.+)|errorlog /var/log/meslogs/$2|' -i fichier
Pascal
[^] # Re: sed
Posté par pfo . En réponse au message Cherche exemple de script pour modifier des lignes dans un fichier. Évalué à 1.
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