Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/06/2007, 14h24   #1
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Par défaut manipulations sur un fichier

Bonjour

J'ai un fichier qui ressemble à ceci :
Code :
1
2
3
4
5
 
sendmail           /usr/libexec/sendmail/sendmail
send-mail         /usr/libexec/sendmail/sendmail
mailq             /usr/libexec/sendmail/sendmail
newaliases       /usr/libexec/sendmail/sendmail
Je dois apporter deux modifications, ajouter un # devant la troisième et la quatrième ligne et remplacer pour la première et la deuxième /usr/libexec/sendmail/sendmail par /etc/scripts/./nbsmtp.pl

Normalement, je modifie ces lignes manuellement. Mais aujourd'hui, j'utilise un fichier sh pour automatiser mon installation et je dois modifier certains fichiers mais n'étant pas à l'aise avec sed bah ouè, je suis un peu pommé

J'ai réussi à insérer le caractère # devant toutes les lignes :
Code :
cat /etc/mail/mailer.conf | sed 's/^/# /'
C'est un bon début, mais je souhaiterai que cela se produise sur les deux dernières lignes seulement

J'ai trouvé une alternative :
Code :
cat /etc/mail/mailer.conf | sed -e "s/mailq/#mailq/" -e "s/newaliases/#newaliases/" /etc/mail/mailer.conf
Mais si j'ai 50 lignes à commenter
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 16h06   #2
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
Code :
sed -e "1,2s/mon_motif/nouveau_motif/" | sed -e "3,4s/^/#/"
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 16h25   #3
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Citation:
Envoyé par gorgonite
ça fonctionne impec

En revanche :
Code :
sed -e "1,2s/usr/libexec/sendmail/sendmail/etc/scripts/./nbsmtp.pl/"
là boom boom, j'obtiens un bad flag in subsitute. Je dois protéger le caractère / mais comment avec les caractères | ou , ?

Merki
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 16h31   #4
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
Code :
sed -e "1,2s/usr\/libexec\/sendmail\/sendmail/etc\/scripts\/.\/nbsmtp.pl/"

chiant, sinon :

Code :
sed -e "1,2s%usr/libexec/sendmail/sendmail%etc/scripts/./nbsmtp.pl%"
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 16h44   #5
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Citation:
Envoyé par gorgonite
Code :
sed -e "1,2s/usr\/libexec\/sendmail\/sendmail/etc\/scripts\/.\/nbsmtp.pl/"
Tu es mon sauveur

Merci beaucoup
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 16h53   #6
Rédacteur/Modérateur
 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur Système
Inscription : décembre 2005
Messages : 9 774
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Ingénieur Système
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 774
Points : 14 303
Points : 14 303
Citation:
Envoyé par Olivier Regnier
Tu es mon sauveur

ben il ne te reste plus qu'à le refaire en perl...
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 17h37   #7
Rédacteur
 
Inscription : juillet 2004
Messages : 2 573
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : juillet 2004
Messages : 2 573
Points : 1 973
Points : 1 973
Citation:
Envoyé par gorgonite
ben il ne te reste plus qu'à le refaire en perl...
Pas besoin vu que c'est un script pour une installation automatisé. A l'exécution du script, le paquetage perl n'est pas installé
__________________
.Olivier
Olivier Regnier est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h52.


 
 
 
 
Partenaires

Hébergement Web