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

Linux Discussion :

Utilisation de sed (2 !)


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 32
    Points : 30
    Points
    30
    Par défaut Utilisation de sed (2 !)
    Bonjour,
    je cherche à ajouter en début de chaque ligne d'un (gros) fichier un espace et un point-virgule.
    Je ne trouve aucune doc claire sur le sujet, même les exemples d'utilisation de sed sur ce forum je ne les comprend pas : les commandes sont souvent en plusieurs lignes, mais moi quand je passe à la ligne ma commande (incomplete) s'execute ( donc : mal), bref : comment utiliser sed ?
    Est-ce approprié pour ma problématique ?
    Merci !!

  2. #2
    Membre régulier
    Avatar de debianhunter
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 63
    Points : 87
    Points
    87
    Par défaut
    Bonjour,

    Ce n'est peut-etre pas la solution la plus elegante, mais ca a le merite de fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/^.*/ ;&/g' fichier
    & est le contenu de l'expression qui matche.

  3. #3
    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
    sed -i.bak 's/^/ ;/' gros_fichier
    tout simplement : on remplace le début de ligne seulement.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 32
    Points : 30
    Points
    30
    Par défaut
    Merci ça marche comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     sed 's/^/ ;/' gros_fic > gros_fic_ok
    Donc ça me va, merci.
    Le ^ est bien un début de ligne, c'est ça ?
    Pourquoi alors ne le remet donc pas dans la 2eme expression ?
    (j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/^/^ ;/' gros_fic > gros_fic_ok
    et ça marche pas ... désolé de poser des questions bêtes ...!)
    Il me reste une question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i.bak 's/^/ ;/' essai
    me répond :
    sed: illegal option -- i
    Usage: sed [-n] Script [File ...]
    sed [-n] [-e Script] ... [-f Script_file] ... [File ...]

    Autre question quand on dit
    & est le contenu de l'expression qui matche.
    C'est que la ligne de commande permet de ne traîter que les lignes qui contiennent "&" ? c'est bien ça ?

  5. #5
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par Lamy D Voir le message
    Le ^ est bien un début de ligne, c'est ça ?
    Pourquoi alors ne le remet donc pas dans la 2eme expression ?
    Oui, ^ est un pseudo caractère qui représente le début de ligne de même que $ est un autre pseudo caractère qui représente la fin de ligne.

    Pourquoi on le met pas dans la 2eme expression, parceque . Plus sérieusement, je pense que cela n'a pas de sens, si tu veux insérer un début de ligne, il suffit d'insérer le caractère CR (et/ou LF) 'saut de ligne' qui lui est un vrai caractère
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  6. #6
    Membre régulier
    Avatar de debianhunter
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 63
    Points : 87
    Points
    87
    Par défaut
    Citation Envoyé par Lamy D Voir le message
    C'est que la ligne de commande permet de ne traîter que les lignes qui contiennent "&" ? c'est bien ça ?
    Non. & est un pseudo-caractere qui represente la portion de texte dans le fichier qui matche l'expression reguliere de recherche. Par exemple:
    permet de retrouver tous les mots en majuscule ([A-Z]+) et de les mettre entre double quote ("&")

  7. #7
    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
    -i est une option propre à GNU sed.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 32
    Points : 30
    Points
    30
    Par défaut
    OK, grand merci à vous pour ces précieuses infos ...

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

Discussions similaires

  1. [SHELL] utilisation de sed
    Par VincentG dans le forum Linux
    Réponses: 5
    Dernier message: 07/05/2007, 09h07
  2. Utilisation de sed
    Par p1erstef dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 03/05/2007, 12h15
  3. Utilisation de SED
    Par crazykangourou dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 08/12/2006, 17h26
  4. Utilisation de sed
    Par mauzillon dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 13/09/2006, 10h46
  5. Utilisation de sed
    Par paco69 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 03/07/2006, 16h13

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