Как скопировать один файл во многие подпапки?

5

Это звучит как простой вопрос, но если бы это было, я бы не стал спрашивать об этом. Я, очевидно, могу это сделать, открыв все папки в наутилусе и вставляя их отдельно, но компьютер - это робот, а не я (я говорю о 500 файлах).

Итак, есть ли способ сделать это более эффективно с помощью gui или командной строки? либо хорошо, как другой.

Если вам станет лучше, вы будете спасать бедный «V» ключ от сурового наказания.     

задан Allan 23.03.2011 в 01:00
источник

3 ответа

6

Если папки находятся в той же папке, в которой находится файл, используйте:

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

В других местах, если файл находится по другому пути, используйте:

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

Если вы не знаете, какие именно имена папок, куда поместить файл, попробуйте:

Нет необходимости создавать скрипт. Просто отбросьте эти команды в терминале и проверьте результаты.

Глоссарий:

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.
    
ответ дан Geppettvs D'Constanzo 23.03.2011 в 01:16
источник
0

Я могу сделать touch {jan, feb, mar} - {Rep.xls, graph.xls} делает feb-graph.xls jan-Rep.xls feb-Rep.xls mar-graph.xls jan-graph.xls mar-Rep.xls
Но я не могу их открыть. Таким образом, я хотел сделать один файл 1.ods, сохраненный из OO-Calc, а затем хотел, чтобы он с ним похож, например touch {jan, feb, mar} - {Rep.xls, graph.xls} используя cp 1.ods {jan, feb, mar} {Rep.ods, graph.ods} но это не работает. cp: target 'margraph.ods' не является каталогом SO im также заинтересовался этим

    
ответ дан Kangarooo 26.05.2011 в 17:07
0

найти. -тип d | xargs -I {} cp ./myfile {} /

Вот как я получил работу.

Вот проблема, которую я решил решить. Я хочу протестировать все свои новые виртуальные хосты перед установкой реальных приложений.

pwd 
/var/www/
find . -type d
.
./site1
./site2
./site3
find . -type d | xargs -I{} cp ./php.info {}/ 
ls ./*
./php.info

./site1:
php.info

./site2:
php.info

./site3:
php.info

    
ответ дан nelaaro 12.01.2012 в 10:08