Commande sed assez simple

vercetty92 Messages postés 3 Statut Membre -  
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
Configuration: Linux
Firefox 3.0.10

5 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
  2. vercetty92 Messages postés 3 Statut Membre
     
    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
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    [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
  4. vercetty92 Messages postés 3 Statut Membre
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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