GNU/Linux >> Tutoriels Linux >  >> Linux

Rechercher et renommer un répertoire

C'est une erreur inoffensive dont vous pouvez vous débarrasser avec le -depth option.

find . -depth -type d -name 'thefoldername*' -exec mv {} newfoldername \;

Le comportement normal de Find consiste à traiter les répertoires, puis à y revenir. Puisque vous l'avez renommé, trouvez des plaintes lorsqu'il essaie de se reproduire. Le -depth L'option indique à find de faire d'abord une récurrence, puis de traiter le répertoire après.


Il manque le -execdir option! Comme indiqué dans les pages de manuel de find :

-execdir command {};

Comme -exec , mais la commande spécifiée est exécutée à partir du sous-répertoire contenant le fichier correspondant, qui n'est normalement pas le répertoire dans lequel vous avez commencé la recherche.

find . -depth -type d -name 'thefoldername*' -execdir mv {} newfoldername \;


Avec la réponse précédente, le contenu de mes dossiers a disparu.
C'est ma solution. Cela fonctionne bien : for i in find -type d -name 'oldFolderName';dodirname=$(dirname "$i")mv $dirname/oldFolderName $dirname/newFolderNamedone


Linux
  1. Renommer tous les fichiers et noms de répertoires en minuscules sous Linux

  2. Comment renommer un répertoire sous Linux

  3. Trouver tout [nom de fichier].mp4 et renommer [nom de fichier].audio ?

  4. Autorisations SSH et répertoire personnel ?

  5. Trouver un modèle et déplacer ?

Renommer les fichiers dans le répertoire ?

Linux :rechercher le nombre de fichiers dans un répertoire et des sous-répertoires

6 Exemples de commande mv pour déplacer ou renommer un fichier et un répertoire Linux

Comment exécuter la commande "find" sur le répertoire en cours uniquement et non sur les sous-répertoires

Rechercher et remplacer par sed dans le répertoire et les sous-répertoires

Trouver tous les fichiers de zéro octet dans le répertoire et les sous-répertoires