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:
Et voila ce qu'on me répond :
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
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.
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
Cordialement.
Partager