J'ai un tas de dossiers dans le dossier A
. Je souhaite déplacer des fichiers de tous ces dossiers vers A
.
Ou
Je veux couper tous les fichiers des dossiers enfants et les coller dans le dossier parent.
Comment faire ça?
Accédez à votre répertoire A
et exécutez
find . -mindepth 2 -type f -print -exec mv {} . \;
ce qui signifie "trouver tous les fichiers de ce répertoire et de ses sous-répertoires et exécuter mv avec le répertoire cible. pour chaque fichier trouvé, pour les déplacer dans le répertoire en cours.
Vous pouvez bien créer un fichier et nommez-le "cutme" (pour créer un fichier appelé cutme dans le type de terminal nano cutme
. Pour le sauvegarder, appuyez sur CTRL + X puis sur ENTRÉE.) Et collez le texte suivant en supposant que:
find * -type f -print -not -type d -and -not -regex 'cutme' -exec mv {} .. \;
Notez le nom cutme à l'intérieur de la ligne. Il devrait être identique au script que vous allez exécuter.
Après avoir créé le fichier et collé la ligne ci-dessus, exécutez ce qui suit dans le même dossier que le script:
chmod +x cutme
. Cela donnera à votre nouveau fichier l’indicateur "Executable" afin que vous puissiez l’exécuter comme suit: ./cutme
.