Скопируйте содержимое / файл во все подкаталоги в каталоге, используя терминал

Я хочу скопировать файл во все подпапки в папке. Как я могу сделать это с помощью командной строки?

17
задан 2 November 2014 в 19:44

2 ответа

Как поместить файл в текущий рабочий каталог во всех подпапках (и возможно их подпапки, в зависимости от того, что Вы хотите сделать),

Это поместит файл во все подпапки, но не их подпапки:

for d in */; do cp water.txt "$d"; done

Это поместит файл water.txt (измените все экземпляры water.txt к имени файла, которое Вы хотите скопировать) во всех подпапках и их подпапках

for i in ./* # iterate over all files in current dir
do
    if [ -d "$i" ] # if it's a directory
    then
        cp water.txt "$i" # copy water.txt into it
    fi
done

Информация от этого потока linuxquestions

26
ответ дан 2 November 2014 в 19:44

Вы можете использовать этот однострочник:

find <target-dir> -type d -exec cp <the file> {} \;

ограничить глубину до 1 -> только непосредственные каталоги

find <target-dir> -type d -maxdepth 1 -exec cp <the file> {} \;

0
ответ дан 2 November 2014 в 19:44

Другие вопросы по тегам:

Похожие вопросы: