Existe-t-il une commande/script en une ligne pour copier un fichier vers plusieurs fichiers sous Linux ?
cp file1 file2 file3
copie les deux premiers fichiers dans le troisième. Existe-t-il un moyen de copier le premier fichier dans les autres ?
Existe-t-il une commande/script en une ligne pour copier un fichier vers plusieurs fichiers sous Linux ?
cp file1 file2 file3
copie les deux premiers fichiers dans le troisième. Existe-t-il un moyen de copier le premier fichier dans les autres ?
Allez-y avec le le plus rapide opérations cp
seq 1 10 | xargs -P 0 -I xxx cp file file-xxx
il signifie
seq 1 10
compter de 1 à 10|
le tuyau xargs
-P 0
le faire en parallèle - autant que nécessaire-I xxx
nom de chaque entrée xargs
reçoitcp file file-xxx
signifie copier le fichier vers le fichier-1, le fichier-2, etc.et si les noms des fichiers sont différents, voici les autres solutions.
Premier avoir la liste des fichiers qui vont être créés, par ex.
one
two
three
four
five
Deuxièmement sauvegarder cette liste sur le disque et lire la liste avec xargs
comme avant, mais sans utiliser seq
.
xargs -P 0 -I xxx cp file xxx < list
ce qui signifie 5 opérations de copie en parallèle :
cp file one
cp file two
cp file three
cp file four
cp file five
et pour xargs
voici les coulisses de l'événement ( 5 fourches )
3833 pts/0 Ss 0:00 bash
15954 pts/0 0:00 \_ xargs -P 0 -I xxx cp file xxx < list
15955 pts/0 0:00 \_ cp file one
15956 pts/0 0:00 \_ cp file two
15957 pts/0 0:00 \_ cp file three
15958 pts/0 0:00 \_ cp file four
15959 pts/0 0:00 \_ cp file five
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.