[déplacer] fichiers

Applications, problèmes de configuration réseau
Korkene
newbie
Messages : 4
Inscription : mer. 11 sept. 2019, 10:12

[déplacer] fichiers

Message par Korkene »

Bonjour,
J'ai un dossier contenant pleins de dossiers avec des fichiers comme ceci :

Code : Tout sélectionner

- RACINE
             - Dossier 1
                              - Fichier 1
                              - Fichier 2
             - Dossier 2
                              - Fichier 1
                              - Fichier 2
             - Dossier 3
                              - Fichier 1
                              - Fichier 2
             - Dossier 4
                              - Fichier 1
                              - Fichier 2
Je voulais déplacer tous les fichiers à la racine pour supprimer les dossier, est-ce que c'est bon avec la commande : mv */* . ?
Merci
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [déplacer] fichiers

Message par FoolEcho »

Salut,
Korkene a écrit : dim. 22 sept. 2019, 04:10 Je voulais déplacer tous les fichiers à la racine pour supprimer les dossier, est-ce que c'est bon avec la commande : mv */* . ?
Oui et non.
Oui à condition qu'il s'agisse bien de documents indépendants (la musique est forcément différente s'il y a des fichiers de configuration interne ou externe relatifs à ces répertoires)... et qu'il n'existe pas de doublon dans les noms de fichiers (en tout état de cause, mv les laissera là où il sont) auquel cas la gestion est plus complexe (il faudrait s'assurer qu'il n'existe pas des fichiers avec le même nom, voire un même fichier à différents endroits et donc vérifier les sommes de contrôle).

Pour la question des doublons sur les noms de fichiers, il y a la solution générique: soit faire une première passe de mv sans rien faire de plus (les fichiers de même nom n'auront pas été déplacés), soit les renommer à la volée via le système proposé par mv (en rajoutant l'option --backup ; par exemple avec --backup=numbered tu vas te retrouver avec des fichiers suffixés par ~1~, etc., qu'il sera plus facile de traiter par la suite).
Il est possible de faire une solution personnalisée (renommage de fichiers en tenant compte des répertoires d'origine, sommes de contrôles, etc.), mais ça dépend de ce que tu comptes faire et de l'organisation actuelle de ces fichiers.

Sinon pour éviter des problèmes il est plus prudent de spécifier les chemins (du genre: mv --backup=numbered ~/RACINE/*/* ~/RACINE/).
Et ensuite supprimer les répertoires vides: find ~/RACINE/ -empty -type d -delete

Si tu veux éviter les mauvaises surprises, ne procède pas directement à l'opération, prends quelques répertoires et copie les à côté pour tester les commandes (un petit tree avant et après opérations pour vérifier que le compte y est) vu que déplacer dans ce sens ira toujours mais le faire à l'inverse, nettement moins... :mrgreen:
«The following statement is not true. The previous statement is true.» :nage:
Ryuta
newbie
Messages : 8
Inscription : sam. 08 juil. 2017, 08:29

Re: [déplacer] fichiers

Message par Ryuta »

Sur fish comme sur bash, * ne prendra pas les fichiers cachés commençant par un point (.).
Répondre