J'essaie de dupliquer un fichier image dans un dossier différent x fois (100 fois). Comment puis-je faire cela dans le terminal?
J'ai réussi à dupliquer dans le même dossier, mais je dois dupliquer dans un autre dossier.
Jusqu'à présent, j'ai essayé ceci:
i=10; while((i++ < 100)); do cp index "index$i"; done
Veuillez aider.
Ajoutez simplement le nom du répertoire avant le nom du fichier:
i=0; while ((i++ < 100)); do cp index /destination/directory/"index$i"; done
Remplacez /destination/directory
par le nom de répertoire actuel.
Cela suppose que le fichier que vous souhaitez copier se trouve dans le répertoire de travail actuel.
Remplacez /path/to/destination
par le chemin du répertoire réel, si nécessaire.index
devrait être remplacé par le vrai nom de fichier si nécessaire:
for i in {1..100}; do echo cp -v -- index /path/to/destination/"index-$i"; done
Supprimez echo
après le test et répétez la commande pour copier les fichiers.
Il serait préférable de définir des nombres à largeur fixe pour faciliter le tri, par exemple 001,002 ... 010, afin de pouvoir utiliser printf
:
for i in {1..100}; do printf -v new "index-%03d" "$i"; echo cp -v -- "index" /path/to/destination/"$new"; done
ou plus lisiblement
for i in {1..100}; do
printf -v new "index-%03d" "$i"
echo cp -v -- "index" /path/to/destination/"$new"
done