Копирование единственных файлов от нескольких каталогов до нового каталога с несколькими подкаталогами, размещающими каждый файл

Я пытаюсь скопировать единственный определенный файл, который содержится в 960 подкаталогах в родительском каталоге. Каждый файл имеет то же имя, но имеет уникальное содержание.

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

Я также должен создать каждый из этих подкаталогов, названных processorN, где N является числом от 0 до 959.

Любые идеи, это озадачило меня, и я, может казаться, не нахожу хорошее решение, которое не собирается брать меня часы.

0
задан 31 August 2018 в 10:29

1 ответ

rsync может сделать это с некоторыми хитрыми --include и --exclude флаги:

rsync -a -v --include="*/" --include="specific-file.txt" --exclude="*" from/ to/

Это скопирует все каталоги и specific-file.txt от from кому: to при пропуске всего остального. Команда сохранит структуру полного списка ниже from и скопируйте его в to. Можно сначала хотеть выполнить это с -n переключатель для наблюдения, что произошло бы, т.е.:

# check:
rsync -a -v -n --include="*/" --include="specific-file.txt" --exclude="*" from/ to/

# actually do:
rsync -a -v    --include="*/" --include="specific-file.txt" --exclude="*" from/ to/
2
ответ дан 28 October 2019 в 01:35

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

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