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 :

Renommer tous les fichiers d'un dossier


Sujet :

Linux

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 99
    Points : 55
    Points
    55
    Par défaut Renommer tous les fichiers d'un dossier
    Bonjour,

    Donc j'ai un petit soucis que je ne comprends pas trop avec la commande 'mv'. Donc j'essaye de renommer tous les fichiers d'un répertoire déjà (éventuellement aussi des sous répertoires si on peut le faire simplement ^^ histoire d'être un peu plus feignant). Donc ce que je voudrais faire c'est remplacer tout les espaces (et les points des fichiers sauf le dernier si possible) des noms des fichiers par des underscore.

    Donc pour renommer des fichiers dans ma tête il y a marqué "mv" donc j'ai créé une petite boucle qui liste les fichiers d'un dossiers et avec la commande sed j'enlève les espaces. Voici ce que j'ai écris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    cd /opt/jeux/
    for i in *
    do
            x=$i
            y=`echo $x | sed 's/ /_/g'`
            mv $x $y
    done
    Et voila ce qu'on me répond :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    mv: la cible «left_4_dead_2.tar.gz» n'est pas un répertoire
    mv: «Mission.Impossible.Ghost.Protocol.tar.gz» et «Mission.Impossible.Ghost.Protocol.tar.gz» identifient le même fichier
    Donc la deuxième ligne pas intéressant enfin bon.. Mais la première, pourquoi? Alors que quand je tape ma commande a la main il veut bien que je modifie son nom. J'aurais donc voulu savoir si quelqu'un pouvait m'expliquer ou était l'erreur car je ne comprends pas bien ce que j'ai fais de pas bien.

    Cordialement.

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 584
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 584
    Points : 19 461
    Points
    19 461
    Par défaut
    Bonjour,

    tu ne veux pas utiliser rename ?

    sinon, ajoute des guillemets autour de tes variables.

    si ça ne fonctionne toujours pas, montre-nous ton arborescence.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 99
    Points : 55
    Points
    55
    Par défaut Re
    Merci ça marche tout nickel avec rename que je ne connaissais pas. Merci encore, je poste la commande même si c'est pas intéressant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rename 'y/ /_/' *  # Remplace tous les espaces par des "_" des fichiers du répertoire courant
    Comment je pourrais faire pour les fichiers qui contiennent des "." si je ne veux pas modifier le dernier "." pour l’extension voir les deux dernier "." pour .tar.gz?

Discussions similaires

  1. [C#] Supprimer tous les fichiers d'un dossier
    Par nitrous007 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 05/09/2015, 11h17
  2. Réponses: 7
    Dernier message: 16/09/2009, 09h34
  3. Réponses: 4
    Dernier message: 29/08/2006, 18h02
  4. Réponses: 5
    Dernier message: 18/01/2006, 14h05
  5. [LG] Accéder à tous les fichiers d'un dossier
    Par arno15 dans le forum Langage
    Réponses: 3
    Dernier message: 27/10/2005, 10h18

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