Ça fait un moment que j'essaie de faire fonctionner ce système. Je veux rechercher une liste de fichiers, puis les copier tous dans un certain chemin.
Si je lance la commande séparément, cela fonctionne comme suit :
find <path> -name 'file1' -exec cp '{}' <path2> \;
Mais je n'ai pas réussi à l'exécuter à l'intérieur d'un boucle for.
#this works
for f in file1 file2 file3...; do find <path> -name "$f" \; done;
#none of these work (this code tries to find and copy the files named file and list from the path)
for f in file1 file2 file3...; do find <path> -name "$f" -exec cp '{}' <path2> \; done;
for f in file1 file2 file3...; do find <path> -name "$f" -exec cp {} <path2> \; done;
J'ai essayé quelques autres trucs qui n'étaient pas susceptibles de fonctionner. La première ligne du code cité se bloque et les autres ne copient rien, même si elles ne se bloquent pas.
Je n'ai pas été en mesure de lancer quoi que ce soit avec exec à l'intérieur d'un boucle for après une recherche et à ce stade, je ne suis pas sûr de ce qu'il faut faire.
J'ai résolu le problème immédiat en effectuant une recherche dans les fichiers et en enregistrant les résultats dans un autre fichier, puis en exécutant une copie à l'intérieur d'un boucle for séparément mais j'aimerais encore savoir comment faire.