Надеющийся делать что-то, что, вероятно, довольно просто ниже, является структурой каталогов:
/home/user/app-data/Unique container ID/path/to/files
я попробовал:
cp -r /home/user/app-data/*/path/to/files /storage/location
, Очевидно, это захватывает все файлы, которые я хочу, которые являются в самом конце целевого местоположения. Я хочу скопировать ту заключительную папку в каждой из уникальных структур каталогов к местоположению сохранения и поддержать структуру каталогов от уникального идентификатора вперед. Таким образом, мой продукт места хранения конца для каждой из захваченных папок был бы похож:
/storage/location/Unique ID grabbed by the wildcard/path/to/files
Попробуйте:
for f in */path/to/files
do
d="${f%/*}"
d="/path/to/files/storage/location/$d/"
mkdir -p "$d"
echo cp -r "$f" "$d"
done
Сначала , изменить / путь / к / файлы
, чтобы отразить фактический путь источника, который вы хотите в Уникальный контейнер ID
каталоги и оставьте *
перед ним.
Далее , изменить / путь / к / файлы / хранилище / местоположение
с фактическим пухом назначения, где вы хотите скопировать свои файлы и оставить /
после него.
Затем , CD
- / Home / User / Praps-data
.
После этого запустите вышеуказанный код для сухого прогона.
Наконец , удалить ECHO
при выполнении результатов, чтобы сделать фактическое копирование.
CP
копирует лист источника (последняя часть пути), а в вашем случае *
совпадает с одним или несколькими объектами листьев. Даже если -R
-R
будет скопировать каталоги рекурсивно, возможно, лучше использовать -A
вместо этого для сохранения всех атрибутов.
cp -r /home/user/app-data/* /storage/location
Если вам нужно больше расширенных вариантов фильтра, вы можете воспользоваться найти
и CPIO
в комбинации.
В этом примере мы просто копируем структуру каталогов:
find /home/user/app-data \
-type d -links 2 -printf %P\\0 | \
cpio -0 -pvdmu -D /home/user/app-data -- /storage/location
(тот факт, каталог без подкаталогов имеет только две жесткие ссылки .
, ..
Мы можем использовать Из -Links 2
Чтобы получить все окончательные каталоги, в любом случае, как вы построите свой фильтр, наиболее важным является Найти
и CPIO
имеет одинаковую начальную точку).