Скопируйте подмножество папок при сохранении дерева каталогов

Я совершенно новичок в Linux и Ubuntu.

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

/Qarc/Svendborg FU1/1000/1002/Gait1  
/Qarc/Svendborg FU1/1000/1002/Gait2  
/Qarc/Svendborg FU1/1000/1002/Shot001      
/Qarc/Svendborg FU1/2000/2001/Gait1  
/Qarc/Svendborg FU1/2000/2001/Gait2  
/Qarc/Svendborg FU1/2000/2001/Shot001  

По сути, мне нужно скопировать все подпапки Gait1 и Gait2, сохранив хотя бы их родительскую папку (поскольку в ней хранится информация о пациенте, которому также принадлежат файлы в папке походки).

Основываясь на предыдущем ответе на подобную проблему от другого пользователя, я попробовал следующий код.

rsync -avz --include='Gait*/' --exclude='*.*/'  /Qarc/Svendborg\ \FU1/ /home/steen/recordings/Svendborg\ \FU1/  

Но этот код копирует все папки и файлы в папке "Svendborg FU1", а не только подпапки Gait1 и Gait2, чем я пытаюсь настроить.

Буду признателен за любую оказанную помощь. заранее спасибо

1 ответ

Мне удалось найти решение самостоятельно. Я полностью уверен, что это НЕ самый простой способ сделать это, но это сработало. Я пробовал различные решения с регулярными выражениями, но не смог заставить их работать. Поэтому я добавил --include='' и --exclude='' для всех папок, которые присутствовали в каталоге.

rsync -avz --include='Gait1/' --include='Gait2/' --exclude='shot_00*'  --exclude='1.*' --exclude='3.*' /Qarc/Svendborg\ \FU1/ /home/steen/recordings/Svendborg\ \FU1/
Другие вопросы по тегам