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 :

Utilisation de la commande sed


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 9
    Par défaut Utilisation de la commande sed
    Bonjour,

    je veux renommé un fichier en utilisant la commande sed:

    le nom de mon fichier a cette forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    154TEAZ0.3NVARETS.L2159221
    je veux avoir comme résultat :
    FULL.3NVARETS.FULL
    j'ai réussi à remplacer la derniére partie mais pas la premiére, en utilisant la commande sed:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    sed 's/\.[^\.]*$/.\FULL/'
    Résultat : 154TEAZ0.3NVARETS.FULL
    Merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Octobre 2006
    Messages : 14
    Par défaut
    Bonjour,
    je ne veux pas répondre à coté du sujet mais vous pouvez utiliser awk avantageusement ici (en termes de facilité) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "154TEAZ0.3NVARETS.L2159221" | /usr/bin/awk -F\. '{print "FULL." $2 ".FULL"}'
    Voulez-vous absolument utiliser sed dans ce cas ou seul le résultat compte ? Sinon, je pourrai chercher dans sed comment faire le cas échéant.

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -r 's/(^[^.]*)|([^.]*$)/FULL/g'
    option -r pour l'utilisation d'expression rationnelles étendues
    (^[^.]*) du début jusqu'au premier point
    | alternative (le "ou" regex)
    ([^.]*$) tout caractère sauf le point. Se terminant par la fin de chaîne.

    Sans l'option -r, ça donnerait ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed  's/\(^[^.]*\)\|\([^.]*$\)/FULL/g'
    Un peu moins lisible non?

Discussions similaires

  1. Utilisation de la commande sed avec variable
    Par elfide dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 09/12/2011, 17h56
  2. utilisation de la commande sed
    Par jeannox69 dans le forum Linux
    Réponses: 3
    Dernier message: 13/02/2011, 19h48
  3. Réponses: 3
    Dernier message: 24/04/2009, 09h12
  4. Utilisation de la commande SED.
    Par pcsystemd dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 02/05/2008, 14h52
  5. Utilisation de la commande sed
    Par kast_or dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 10/07/2007, 09h03

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