web-dev-qa-db-fra.com

Comment dupliquer un fichier x fois dans un répertoire différent avec terminal?

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.

6
Dio Pratama

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.

6
heemayl

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
4
Zanna