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 POSIX Discussion :

Ajouter un caractère à la fin d'une ligne précise et une nouvelle ligne en dessous


Sujet :

Shell et commandes POSIX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut Ajouter un caractère à la fin d'une ligne précise et une nouvelle ligne en dessous
    Bonjour

    J'ai un fichier avec le contenu suivant:
    Je désire rajouter à cette ligne un \
    Je désire enfin ajouter une nouvelle ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    robert:\
    :ro=\S[i\x[4a:
    Je suis entrain de me tirer les cheveux depuis quelques minutes.

    Comme dans un post précédent, j'ai repris les mêmes exemples sauf que ce ne sont pas des mots à ajouter mes des caractères spéciaux.

    J'ai besoin de votre expérience avec sed s'il vous plaît ?

    Merci

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 361
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 361
    Par défaut
    Bonjour,
    un exemple simple sous gnu sed:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo "robert:" | sed -e '/robert:/s//&\\\n:ro=\\S[i\\x[4a:/'
    robert:\
    :ro=\S[i\x[4a:

  3. #3
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Merci pour votre réponse.

    J'ai oublié de préciser que sed est utilisée sur un système unix.

    Par exemple, si je reprends que le premier cas à savoir rajouter uniquement le \ à la ligne 41.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i '41 /robert:/s//&\\ /' mon fic
    Cela ne passe pas

    En revanche, votre exemple fonctionne

  4. #4
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 361
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 361
    Par défaut
    Si on veut passer par des n° de ligne, on doit plutot faire du genre (pas testé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e '41s/robert:/&\\\n:ro=\\S[i\\x[4a:/'
    Mais, bon, apres cette syntaxe est valide sous gnu sed et quelques autres versions de sed mais pas tous.
    Et attention, ici, je reprend spécifiquement ton premier exemple en disant que celui que tu veux modifier est à la ligne 41.

  5. #5
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Bonjour, j'ai directement récupérer gsed et ça fonctionne.

    Merci beaucoup

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

Discussions similaires

  1. Ajout de caractéres en fin des lignes d'un fichier texte
    Par loubna04 dans le forum VBScript
    Réponses: 1
    Dernier message: 30/03/2010, 12h03
  2. Réponses: 5
    Dernier message: 02/12/2009, 00h27
  3. Réponses: 0
    Dernier message: 07/06/2009, 12h31
  4. Selectionner une ligne précise dans une combobox
    Par psykoleouf dans le forum VBA Access
    Réponses: 3
    Dernier message: 27/05/2007, 13h04
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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