Utilisation de find et -exec
Bonjour à tous
je cherche à écrire un script shell pour rechercher parmi de nombreux répertoires des fichiers dont le nom est construit de la manière suivante : "nom date" et dont le format est soit .doc soit .rtf. Le but étant de copier ces fichiers dans un nouveau répertoire.
J'ai donc écrit le code suivant, qui fonctionne, mais qui ne copie que les fichiers rtf.
Code:
1 2 3 4 5 6 7
| while read -r ligne; do
set $(echo $ligne)
nom=$(eval echo $1)
date=$(eval echo $2)
echo "$ligne"
find "/PATH" -iname "$nom $date.doc" -o -iname "$nom $date.rtf" -exec cp {} "/nouveau_dossier" \;
done < $file |
Du coup, j'ai essayé ceci :
Code:
1 2 3 4 5 6 7
| while read -r ligne; do
set $(echo $ligne)
nom=$(eval echo $1)
date=$(eval echo $2)
echo "$ligne"
find "/PATH" \(-iname "$nom $date.doc" -o -iname "$nom $date.rtf" \) -exec cp {} "/nouveau_dossier" \;
done < $file |
et cela ne fonctionne pas, le shell m'indiquant
Code:
find: ): no beginning '('
J'imagine que la solution est toute simple, mon idée étant de bien individualiser les deux étapes de la commande...
Merci de votre aide!
bash-3.2$
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14)