IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Solaris Discussion :

comande sed solaris


Sujet :

Solaris

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Points : 77
    Points
    77
    Par défaut comande sed solaris
    Bonjour,

    j'ai une comande qui tourne nikel sur linux, la comande permet tout simplement d'inserer un caractère dans une ligne dans un fichier en se referant au numéro de la ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i '20 c chaine' fichier.txt
    insere la chaine "chaine" à la 20 ème ligne du fichier: fichier.txt

    malheuresment cela ne marche pas sur Solaris, et j'ai tout essayé mais helas aucun résultat.

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Citation Envoyé par scolopendra
    malheuresment cela ne marche pas sur Solaris
    et on diagnostique le problème parce que tu donnes le message d'erreur retourné par ta commande. ::

    Il y a de grandes chances, que le sed insallé sur Solaris soit POSIX, et non GNU...

    Or, POSIX sed ne connait pas l'option -i
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Points : 77
    Points
    77
    Par défaut
    désolé, oui apparement le -i n'est pas reconnu mais je peux toujours l'eviter en balançant le resultat dans un fichier...

    en fait l'erreur sans (-i) est :

    Merci pour vos réponses

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    sed étant donc apparemment POSIX, il a peut-être besoin de plus de rigueur dans l'écriture de ses commandes.
    As-tu essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed '20 c\chaine' fichier.txt
    ...
    ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Points : 77
    Points
    77
    Par défaut
    Merci pour ta réponse la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sed '20c\
    text' fichier
    passe mieux maintenant mon problème c'est l'interpretation des variables à savoir


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sed '$numc\
    $text' fichier
    ne passe pas

    j'ai essayer aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var="'" "${num}c\"
     
    sed $var
    $text' fichier
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sed "'"$num "c/"
    $text' fichier
    mais rien ne marche

    mais par contre quand je fixe en dur le num ca marche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sed '20c\
    $text' fichier
    comment faire

    et merci pour vos reponses

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var=nananèreuh
    sed '2 c\'"$var"'' <<< "bla
    cra
    ella"
    bla
    nananèreuh
    ella
    !
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Points : 77
    Points
    77
    Par défaut
    oui d'accord mais si je met le "2" dans une variable qu'elle sera la commande?

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Points : 77
    Points
    77
    Par défaut
    parce que comme mentionné sur mon post la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sed '20c\
    $text' fichier
    marche nikel mon souci c'est quand je remplace le numéro de ligne par une variable ca coince

    Merci

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 161
    Points : 77
    Points
    77
    Par défaut
    c'est bon j'ai trouvé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sed ''"$num"'c\
    '"$text"'' fichier

    merci beaucoup

  10. #10
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var=2
    sed ''$var' c\nananèreuh' <<< "bla
    cra
    ella"
    bla
    nananèreuh
    ella
    ...
    ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

Discussions similaires

  1. commande de subtitution sur unix solaris avec du sed
    Par Bob_67 dans le forum Shell et commandes POSIX
    Réponses: 2
    Dernier message: 06/03/2013, 15h34
  2. commande sed sous solaris
    Par boo64 dans le forum Shell et commandes POSIX
    Réponses: 0
    Dernier message: 28/03/2012, 18h39
  3. Problème avec SED et les caractères "/" sur Solaris
    Par supermen3000 dans le forum Solaris
    Réponses: 2
    Dernier message: 03/07/2009, 11h14
  4. Commande sed et Solaris
    Par romainw dans le forum Solaris
    Réponses: 2
    Dernier message: 19/02/2008, 15h34
  5. COMM_FAILURE sur Solaris
    Par knotty dans le forum CORBA
    Réponses: 2
    Dernier message: 21/08/2002, 17h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo