J'ai un tas de dossiers dans le dossier A
. Je veux déplacer les 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 cela?
Accédez à votre répertoire A
et exécutez
find . -mindepth 2 -type f -print -exec mv {} . \;
ce qui signifie "trouver tous les fichiers dans ce répertoire et 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 courant.
Eh bien, vous pouvez créer un fichier et le nommer "cutme" (pour créer un fichier appelé cutme dans le terminal, tapez nano cutme
. Par exemple, pour le sauvegarder, appuyez sur CTRL + X, puis appuyez sur ENTREE). en supposant que:
find * -type f -print -not -type d -and -not -regex 'cutme' -exec mv {} .. \;
Notez le nom cutme dans 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 les opérations suivantes dans le même dossier que le script:
chmod +x cutme
. Cela donnera à votre nouveau fichier l'indicateur "Executable" pour que vous puissiez l'exécuter comme ceci: ./cutme
.