1

Скажем, у меня есть структура каталогов примерно так:

view
 |
 +--- 0001
 |
 +--- 231
 |
 +--- e2341
 |
 ... and so on

Моя проблема в том, что я хочу скопировать набор файлов с таким же именем (например, file_001.jpg) в другое место с идентичной структурой каталогов, т.е. это зеркало. Есть ли способ скопировать файлы определенного шаблона имени из одной структуры каталогов в другую?

Я попробовал что-то в соответствии с ...

cp -R */file_001.jpg /destination_folder

... но все, что я получаю, это следующая ошибка

cp: cannot stat `file_001.jpg': No such file or directory

Я думаю, мне нужно как-то передать имена файлов, у кого-нибудь есть хорошая идея, как это сделать?

1 ответ1

4

Для этого вы можете использовать find в сочетании с функцией passthrough в cpio . Что-то вроде этого:

find old_dir -name "file_001.jpg" -print | cpio -pd new_dir

Флаг -p на cpio запускает режим passthrough, который фактически просто копирует файлы из их исходного местоположения в new_dir . Флаг -d создает все необходимые каталоги, поэтому в new_dir у вас будет та же new_dir что и в old_dir (по крайней мере, в отношении каталогов, содержащих file_001.jpg ).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .