Le sujet n'est pas très clair... enfin rien de mieux qu'un exemple pour expliquer le problème.
mkdir tmp
cd tmp
touch "a a" b c d
rm $(ls)
Ici on a une erreur pour le premier fichier (b, c et d sont bien supprimés). Par contre pour "a a", rm croit qu'il s'agit de deux fichiers "a".
J'ai aussi essayé `rm $(ls -b)` (qui rajoute un antislash avant chaque espace dans les noms de fichiers) mais ça change juste l'erreur (rm croit qu'il y a un fichier "a\" et un fichier "a").
Et aussi `rm $(ls --quoting-style=shell)` (qui rajoute des quotes simples autour des fichiers problématiques), mais à nouveau rm croit qu'il y a un fichier "'a" et un fichier "a'".
Même problème si je tente de boucler sur la "liste" en question.
Comment faire pour travailler avec une liste de fichiers sans que tout casse s'il y a des caractères spéciaux ?