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

Shell et commandes GNU Discussion :

Ajout de saut de ligne "/n" via sed


Sujet :

Shell et commandes GNU

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Points : 283
    Points
    283
    Par défaut Ajout de saut de ligne "/n" via sed
    Bonjour,

    J'ai fait un petit script shell (bash) qui ajoute une nouvelle ligne vide après chaque ligne existante via ce code : Le problème c'est que je doit le faire tourner sur un HU-UX en korn shell et ce même shell m'ajoute "n" à la fin de chaque ligne.

    Auriez vous une solution, car sur mon linux (opensuse 10.3) même en korn ça fonctionne.

    Merci d'avance.

  2. #2
    Membre éclairé Avatar de jmelyn
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2007
    Messages
    703
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2007
    Messages : 703
    Points : 823
    Points
    823
    Par défaut
    Bonsoir,

    Il ne s'agit pas ici du type de shell ou de sa version qui pose un problème. En effet, sed est une commande qui ne fait pas partie du shell, donc que ce soit de Bash, tcsh, zsh ou ksh, c'est le même programme qui est appelé. Sur HP-UX, est-ce le sed de GNU? Si oui, la version est peut-être ancienne. Moi j'ai la 4.1.5-12 sur Linux.


    Si le sed d'HP-UX n'intègre pas la norme POSIX.2, les caractères échappés (\n, \t...) risquent de ne pas être reconnus. Il faut alors les remplacer par le caractère ASCII numérique. Pour le retour à la ligne, c'est LF (Line Feed) dont le code décimal est 10. La commande sed devient donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i 's/$/\d10/' fichier

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    461
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 461
    Points : 283
    Points
    283
    Par défaut
    Merci Jmelyn.

    Le man de sed indique qu'il est POSIX-2 (entre autre). Néanmoins, /n ou d10 ne fonctionnent pas.
    J'ai utilisé un subterfuge en passant par sed G qui insère une ligne blance après chaque ligne traitée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajout dynamic saut de ligne
    Par topolino dans le forum ASP.NET
    Réponses: 4
    Dernier message: 04/03/2009, 10h57
  2. Réponses: 1
    Dernier message: 14/08/2007, 17h53
  3. Ajouter des sauts de lignes à la table des matières
    Par lisa.a dans le forum Mise en forme
    Réponses: 3
    Dernier message: 15/08/2006, 17h56

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