Я пытаюсь скопировать единственный определенный файл, который содержится в 960 подкаталогах в родительском каталоге. Каждый файл имеет то же имя, но имеет уникальное содержание.
Я хочу поддержать иерархию каталогов и имен в новом родительском каталоге, но только хотеть один определенный файл, а не все файлы в каждом подкаталоге.
Я также должен создать каждый из этих подкаталогов, названных processorN, где N является числом от 0 до 959.
Любые идеи, это озадачило меня, и я, может казаться, не нахожу хорошее решение, которое не собирается брать меня часы.
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/