Как скопировать подмножество подпапок рекурсивно

У меня есть большое количество папок, каждый из который содержащий несколько подпапок. Что-то вроде этого

/mnt/data1/Folder1/subjfolder1, /mnt/data/Folder1/subjfolder2, /mnt/data/Folder1/subjfolder3
/mnt/data1/Folder2/subjfolder1, /mnt/data/Folder2/subjfolder2, /mnt/data/Folder2/subjfolder3
...

Мне нравится копировать Folder1, Folder2, и т.д. но только subjfolder2 в каждой папке к новому местоположению, говорить data2. Что-то вроде этого:

/mnt/data2/Folder1/subjfolder2
/mnt/data2/Folder2/subjfolder2
...

Я не хочу копировать все содержание Folder1,2 и т.д., просто subjfolder2 в каждой папке. Я надеюсь, что это ясно. Кто-то мог помочь?

0
задан 18 March 2019 в 12:29

1 ответ

Такого рода вещь может быть сделана с простыми шариками оболочки:

cp -rt path/to/destination/ /mnt/data2/Folder?/subjfolder2

(соответствия называют в который Folder сопровождается любым отдельным символом),

cp -rt path/to/destination/ /mnt/data2/Folder[0-9]/subjfolder2

(соответствия называют в который Folder сопровождается любой единственной десятичной цифрой),

cp -rt path/to/destination/ /mnt/data2/Folder*/subjfolder2

(соответствия называют в который Folder сопровождается любой строкой).

С другой стороны, для соответствия определенному набору папок Вы могли использовать расширение фигурной скобки

cp -rt path/to/destination/ /mnt/data2/Folder{1..17}/subjfolder2
0
ответ дан 26 October 2019 в 00:37

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

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