2016-02-19 2 views
2

Как искать (используя команду find) для каталогов и копировать все файлы и сам каталог в другой каталог в Linux? Вот то, что я до сих пор:Как искать (используя команду find) для каталогов и копировать все файлы и сам каталог в другой каталог в Linux?

find -type d -name "*.ABC" -exec {} /Desktop/NewFile \; 

Я получаю это как выход:

find: './GAE/.ABC: PERMISSION DENIED 

Пожалуйста, помогите, спасибо!

+0

Вы администратор? У вас есть разрешение на доступ к этому файлу? – Majora320

+0

Да, я вошел в систему как Root, и я попробовал как root, так и пользователь. –

+0

«Записан как root» ... Вы действительно должны использовать sudo. – Majora320

ответ

0

Это должно работать:

find ./source_dir -name \*.png -print0 | xargs -0 cp -t path/to/destination 

Для получения дополнительной информации, вы можете посмотреть here.

1

Ваша ошибка здесь выше не имеет ничего общего с файлом . Вы пытаетесь выполнить выполнить каталоги, которые вы найдете! Избегайте запускать команды как root или sudo, если: (1) вы действительно нужно это и (2) вы действительно знаете, что вы делаете. Нередко люди, требующие привилегии root или sudo, точно не должны иметь этого.

Это сказано ... существует несколько способов копирования дерева каталогов под * nix. Это только один из возможных подходов:

$ find <start> -type d -name \*.ABC -exec cp -av {} <target> \; 

Где:

  • <start> это имя каталога. Он используется, чтобы сказать find где начать свой поиск (например /usr/local или $HOME)
  • <target> другое имя каталога, чтобы определить конечный пункт назначения из скопированных каталогов

UPDATE

В случае, если вы хотите найти несколько путей ...

$ find <start> -type d \(-name \*.ABC -o -name \*.DEF \) -exec cp -av {} <target> \; 
+0

Спасибо за ваши отзывы. Что делать, если я ищу несколько расширений файлов. $ find -type d -name \ *. ABC * .DEF -exec cp -av {} \; Будет ли это работать? –

+0

@SambhavTowson, обновляющий мой ответ ... – mauro

+0

Спасибо. Есть ли способ включить переменные и создать цикл для поиска многих папок с использованием переменных из текстового файла? –

Смежные вопросы