J'essaie d'écrire une commande simple qui recherche dans un répertoire de musique tous les fichiers d'un certain type et les copie dans un nouveau répertoire. Je serais bien si les fichiers n'avaient pas d'espaces.Comment gérer les espaces dans un script qui utilise les résultats de find dans une boucle for?
J'utilise un script à partir de la question suivante, mais il échoue pour espaces: bash script problem, find , mv tilde files created by gedit
Toutes les suggestions sur la façon dont je peux gérer les espaces, une fois que je suis convaincu que tous les fichiers sont répertoriés, je changerai echo
à cp
for D in `find . -name "*.wma*"`; do echo "${D}"; done
qui n'a pas w ork. Pouvez-vous ajouter une explication sur la façon de gérer les espaces? – Eric
N'a pas fonctionné comment? Si vous consultez la page de manuel de find, elle indique: "La chaîne' {} 'est remplacée par le nom de fichier actuel ". Donc, si vous mettez des citations autour, comme dans mon exemple, vous allez gérer les espaces. – vanza
N'a pas fonctionné parce que j'ai négligé le \; et il a continué à me donner un
find: -exec: no terminating ";" or "+"
Merci pour votre aide – Eric