3

У меня есть папка на сервере Linux с более чем 35 подкаталогами:

aa.foo.bar.baz
ab.foo.bar.baz
..
bp.foo.bar.baz

У меня есть файл, который я хочу скопировать в каждую из этих подкаталогов. Какой быстрый способ сделать это без ручного запуска 35+ отдельных команд cp ?

3 ответа3

4
for i in *.foo.bar.baz/; do
    cp file "$i"
done
2

находить . тип 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

0
for dirname in $(ls -d *.foo.bar.baz/); do cp file $dirname; done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .