web-dev-qa-db-fra.com

Comment copier un fichier dans plusieurs sous-dossiers?

Cela semble être une simple question, mais si c'était le cas, je ne le poserais pas. Je peux évidemment le faire en ouvrant tous les dossiers dans Nautilus et en les collant individuellement, mais l'ordinateur est le robot, pas moi (je parle de 500 fichiers).

Alors, y a-t-il un moyen de le faire plus efficacement par interface graphique ou en ligne de commande? soit est aussi bon que l'autre.

Si cela vous fait sentir mieux, vous épargnerez une mauvaise clé en "V" d’une punition sévère.

5
Allan

Si les dossiers se trouvent dans le même dossier que le fichier, utilisez:

for dir in *; do [ -d "$dir" ] && cp YOURFILE.EXT "$dir" ; done

Dans d'autres scènes, si le fichier est dans un chemin différent, utilisez:

for i in folder1 folder2 folder3 folder4; do cp YOURFILE.EXT $i; done

Si vous ne savez pas exactement quels sont les noms des dossiers où placer le fichier, essayez:

Il n'y a pas besoin de faire un script. Il suffit de déposer ces commandes dans un terminal et de vérifier les résultats.

Glossaire:

YOURFILE.EXT = The name of your file, may contain the full path.
folder1 folder[...] = the name of the folders where to drop the file,
-- folder names may contain the full path.
6

Je peux toucher. {Jan, fév, mar} - {Rep.xls, graph.xls} rend feb-graph.xls jan-Rep.xls feb-Rep.xls mar-graph.xls jan-graph.xls mar-Rep .xls
Mais je ne peux pas les ouvrir. Donc, je voulais créer un fichier 1.ods sauvegardé à partir de OO-Calc, puis je voulais le cp similaire, comme toucher {jan, fév, mar} - {Rep.xls, graph.xls} en utilisant cp 1.ods {jan, fév , mar} {Rep.ods, graph.ods} mais ça ne marche pas. cp: target `margraph.ods 'n'est pas un répertoire SO je suis aussi intéressé par ceci

0
Kangarooo

trouver . -type d | xargs -I {} cp ./myfile {} /

C'est comme ça que j'ai fait le travail.

Voici le problème que je voulais résoudre. Je voulais tester tous mes nouveaux hôtes virtuels avant d'installer les applications réelles.

 pwd 
/var/www /
 trouver. -type d 
. 
 ./ site1 
 ./ site2 
 ./ site3 
 trouver. -type d | xargs -I {} cp ./php.info {}/
 ls ./*
./php.info
.____.]./site1:
 php.info 
 
 ./ site2: 
 php.info 
 
 ./ site3: 
 php.info 
 
0
nelaaro