Commande sed assez simple

vercetty92 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je souhaite utilisé sed pour ajouter une ligne apres une ligne précise (avec un retour chariot)

comme je suis un débutant en sed j'ai peut etre une problème syntaxique....

voila ma ligne au point ou j'en suis :

sed -e "s/^other.*pam_unix_auth.so.1$/\nother   auth sufficient         pam_ldap.so.1 try_first_pass/g" /etc/pam.conf.bak > /etc/pam.conf


donc ce que je souhaite : après la ligne commencant par "other" et se finissant par "pam_unix_auth.so.1", je veux faire un retour chariot (\n) et écrire la ligne "other auth sufficient pam_ldap.so.1 try_first_pass"

mais pour l'instant cette ligne remplace carrément la 1er par la 2e, alors que je veux qu'elle la mette à la suite...

can you help me plz?

thx
A voir également:

5 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,
sed -e '/^other.*pam_unix_auth.so.1$/a\
other   auth sufficient         pam_ldap.so.1 try_first_pass
' /etc/pam.conf.bak > /etc/pam.conf
0
vercetty92 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
Merci de ta réponse jipicy, seulement ta commande ne fonctionne pas :

sed: command garbled: /^other.*pam_unix_auth.so.1$/a\other   auth sufficient         pam_ldap.so.1 try_first_pass


une autre idée?
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
[tmpfs]$ cat toto
blablabla
bla bla bla
other.*pam_unix_auth.so.1
blablabla
bla bla bla

[tmpfs]$ sed -e '/^other.*pam_unix_auth.so.1$/a\
other   auth sufficient         pam_ldap.so.1 try_first_pass
' toto

blablabla
bla bla bla
other.*pam_unix_auth.so.1
other   auth sufficient         pam_ldap.so.1 try_first_pass
blablabla
bla bla bla

[tmpfs]$
0
vercetty92 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
ok merci en fait ca marche très bien sur mon ubuntu, mais il y a une chose que j'ai oublier de préciser : le sed sera utilisé sous solaris....et ca ne marche pas sous solaris, alors j'en viens a me demander si le sed de solairs n'est pas différent...(solaris10u6)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Normalement ça devrait marcher aussi ;-\

Essaie sans le caractère "*" ( /^other.*pam_unix_auth.so.1$/) à remplacer par son équivalence réelle... on sait jamais.
0