J'ai beaucoup de fichiers journaux dans un répertoire et son sous-répertoire est nommé dataupload_sales_.xxx.com.dat
. Je voulais changer tous les fichiers xxx.com
partie à yyy.com
dans les répertoires actuels et secondaires.
j'espère que ce n'est pas un article en double car j'ai cherché sur le forum et essayé quelques options mais aucune n'a fonctionné. certains articles ont suggéré d'utiliser le changement de nom et il n'est renommé que dans un seul fichier. où j'ai plus de 5000 sous-répertoires dans mon répertoire et tous les sous-répertoires ont 100+ .dat
des dossiers.
j'ai aussi essayé
find ./ -name "xxx.com" -exec bash -c 'mv $0 $(echo "$0" | sed -r \"s|xxx.com|yyy.com|g\")' '{}' \;
il montre une erreur de répertoire non valide
Dans le dossier, vous souhaitez modifier les noms de fichiers de manière récursive:
find . -name '*.xxx.com.dat' -exec rename 's/xxx/yyy/' -- {} +