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 :

Renomer une liste de fichiers sous unix


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
    Décembre 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 25
    Par défaut Renomer une liste de fichiers sous unix
    Salut,

    Je dois renomer une liste de fichiers qui ont un nom composé de plus de 4 champs séparés par des points. Il faut que les fichiers au final ne portent plus que les 3 premièrs champs. Exemple:
    OPPPO.20080112708003.56.OPPO.56.200812708105
    doit être renomé en OPPPO.20080112708003.56

    Pouvez vous m'aider asap svp?

    Merci,

  2. #2
    Rédacteur
    Avatar de CedrX
    Inscrit en
    Avril 2007
    Messages
    1 111
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 111
    Par défaut
    Une solution possible:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for i in $* ; do
            newname=$(echo $i | awk -F "." '{ printf("%s.%s.%s\n",$1,$2,$3) }')
            mv $i $newname
    done
    $* représentant les fichiers avec plus de 4 champs passés en argument au script.

  3. #3
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 25
    Par défaut
    Ok mais comment est ce que je peux passer la liste des fichiers "dans le répertoire courant" dans le $* ?
    genre ls -l ....

  4. #4
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011

  5. #5
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 25
    Par défaut
    finalement j'ai résolu le problème mais plustôt avec cette solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ls *.*.*.* ¦ while read file
    do
    echo ${file} ¦ cut -d"." -f -3
    mv ${file} `echo ${file} ¦cut -d"." -f -3`
    done
    Merci à tous pour vos réponses rapides.

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

Discussions similaires

  1. Parcourir une arborescence de fichiers sous Unix
    Par dim_italia dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 04/12/2007, 15h35
  2. Réponses: 2
    Dernier message: 16/11/2007, 11h44
  3. Réponses: 2
    Dernier message: 03/07/2006, 20h14
  4. Réponses: 7
    Dernier message: 20/09/2005, 17h47
  5. Réponses: 10
    Dernier message: 30/01/2005, 20h53

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