Comment aplatir une arborescence de répertoires avec 'find' sur Linux
Vous pouvez utiliser la commande suivante pour déplacer récursivement tous les fichiers des sous-répertoires vers le répertoire courant. Les informations de la structure de répertoires d’origine seront perdues, cependant les fichiers avec le même nom dans différents répertoires ne seront PAS écrasés grâce à mv --backup=numbered :
flatten_directory_tree.sh
find . -type f -depth -exec mv {} --backup=numbered $(pwd) -v \;Cette commande fait ce qui suit :
find .- commence la recherche dans le répertoire courant-type f- ne trouve que les fichiers-depth- traite l’arborescence de répertoires de bas en haut, de sorte que les fichiers sont déplacés avant leurs répertoires parents-exec- exécute la commande qui suit pour chaque fichier trouvémv {}- déplace le fichier trouvé parfind--backup=numbered- crée une sauvegarde numérotée des fichiers avec le même nom$(pwd)- spécifie le répertoire de destination (le répertoire courant)-v- active la sortie verbeuse, pour que vous puissiez voir quels fichiers sont déplacés\;- indique la fin de la commande-exec
Check out similar posts by category:
Linux
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow