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

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur d'études Big Data
    Inscrit en
    octobre 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études Big Data
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : octobre 2017
    Messages : 1
    Points : 1
    Points
    1

    Par défaut AIX et SED, problème d'options..

    Bonjour à tous,

    Je rencontre une petite difficulté pour modifier un vieux script qui avait été écrit pour AIX, et n'étant pas du tout spécialisé sur ce type d'environnements, je vous serais reconnaissant si vous pouviez m'aider à résoudre cette petite bricole.

    Le problème vient en fait d'une option de SED qui fonctionne parfaitement sous les systèmes Linux, mais qui n'est pas reconnue par AIX, la fonction "-i".

    En gros, je souhaiterais modifier un champs dans le fichier /etc/services, pour faire ça j'utilise la commande suivante sous linux:

    sed -e -i 's/nom_service.*$numero_service\/udp/nom_service num_service\/tcp/g' /etc/services

    Le problème étant que le système me spécifie qu'il ne connait pas la fonction -i et donc n'exécute pas la commande tel que je le souhaiterais....

    Est-ce que vous auriez une idée de comment je pourrais procéder ?

    Je vous remercie tous par avance,

    Cordialement,

    Stephan

  2. #2
    Membre expert Avatar de CosmoKnacki
    Homme Profil pro
    Inscrit en
    mars 2009
    Messages
    1 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : mars 2009
    Messages : 1 545
    Points : 3 024
    Points
    3 024

    Par défaut

    Même si l'option "in place" n'est pas disponible, rien ne t'empêche de renvoyer le résultat vers un autre fichier puis de le renommer en écrasant l'original (fait quand même des essais avant, ou garde une copie quelque part).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sed -e 'blah blah blah' monfichier > monfichier.temp
    mv monfichier.temp monfichier
    3615 JEXISTE

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2018
    Messages : 2
    Points : 3
    Points
    3

    Par défaut

    theessayservice.org
    Publié par smongioj:

    Bonjour à tous,

    Je rencontre une petite difficulté pour modifier un vieux script qui avait été écrit pour AIX, et n'étant pas du tout spécialisé sur ce type d'environnements, je vous serais reconnaissant si vous pouviez m'aider à résoudre cette petite bricole.

    Le problème vient en fait d'une option de SED qui fonctionne parfaitement sous les systèmes Linux, mais qui n'est pas reconnue par AIX, la fonction "-i".

    En gros, je souhaiterais modifier un champs dans le fichier /etc/services, pour faire ça j'utilise la commande suivante sous linux:

    sed -e -i 's/nom_service.*$numero_service\/udp/nom_service num_service\/tcp/g' /etc/services

    Le problème étant que le système me spécifie qu'il ne connait pas la fonction -i et donc n'exécute pas la commande tel que je le souhaiterais....

    Est-ce que vous auriez une idée de comment je pourrais procéder ?

    Je vous remercie tous par avance,

    Cordialement,

    Stephan
    Bonjour Stephan,

    Ça peut marcher. Mais vous devez créer un fichier temporaire dans le backgroud et le renommer avec le nom du fichier d'origine. Dans ce cas, il appartiendra à quiconque a dirigé le SED.

  4. #4
    Expert éminent Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    septembre 2005
    Messages
    3 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : septembre 2005
    Messages : 3 564
    Points : 8 542
    Points
    8 542

    Par défaut

    Bonjour

    sed -e -i 's/nom_service.*$numero_service\/udp/nom_service num_service\/tcp/g' /etc/services
    Moi, je crois surtout que, si la commande a été tapée comme ceci, elle n'a jamais marché !
    Car les options -e et -i ont été inversées.
    Après "-e" il y a une commande sed, un script. Donc "-i" est pris pour le script. Et cela ne marche pas car "-i" n'est pas une commande sed.

    Cette commande a d'autant moins marché que $numero_service est protégé par des simples quotes. Donc, pas interprété.
    Double faute car le "$" signifie alors la fin de ligne.

    Bref : c'est n'importe quoi.
    AIX ou Linux
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
    Votre problème est résolu ? Cliquez sur en bas de page.

    Linux, grep/sed/awk/xml... et autres fichiers plats, Java, C++

Discussions similaires

  1. Problème dans Options régionales et linguistiques
    Par anas.eh dans le forum Windows XP
    Réponses: 9
    Dernier message: 15/09/2007, 01h16
  2. Problème avec Options -Indexes
    Par korben06 dans le forum Apache
    Réponses: 1
    Dernier message: 09/09/2007, 04h24
  3. Problème new Option
    Par magicyan dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/10/2006, 13h32
  4. Problème avec "option explicit"
    Par tribaleur dans le forum ASP
    Réponses: 3
    Dernier message: 01/06/2006, 11h46
  5. [9i] [AIX 5.2] Problème notification dans OMS
    Par Débéa dans le forum Oracle
    Réponses: 1
    Dernier message: 03/04/2006, 17h58

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