Instructions complexes après find
Bonjour :)
Je souhaiterais réaliser une suite de commandes plus ou moins complexes que l'option -exec de find ne me permet pas d'exécuter. Mais j'ai un problème récurrent avec la prise en charge des espaces.
Par exemple avec cp :
Code:
1 2 3 4 5 6 7
| #!/bin/bash
find -name '*.pdf' -print | while read
do
filename="${REPLY#./}"
filename2=${filename// /\ }
cp $filename2 essai_${filename2}
done |
Je supprime tout d'abord le "./" au début du nom du fichier, puis je met des backslash devant les espaces pour que la commande cp puisse interpréter le nom correctement.
Pourtant quand j'exécute le script en mode déboggage, on voit bien que les espaces sont toujours présents
Code:
1 2
| cp fichier 1.pdf essai_fichier 1.pdf
cp: la cible «*1.pdf*» n'est pas un répertoire |
Une idée ?
Merci d'avance :mrgreen: