исключенные каталоги в команде find неправильно переданы в -exec cp - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь скопировать папку, содержащую структуру подпапок, исключая указанную подпапку с помощью команды find -exec cp.Мне удалось использовать несколько рабочих опций исключения, когда я использую только команду find, но после добавления команды '-exec cp' исключающие термины перестают работать.

Представьте интересующий каталог, содержащий несколькофайлы и подпапки, с одной подпапкой с именем "exclusion_string"

Эта команда поиска работает правильно, если используется одна:

find ~/directory/of/interest/ -maxdepth 2 ! -name "*exclusion_string*"

... в то время как эта команда отменяет критерий исключения:

find ~/directory/of/interest/ -maxdepth 2 ! -name "*exclusion_string*" -exec cp -r '{}' . \;

Аналогичным образом, при использовании других критериев или аргументов исключается подкаталог, например:

find ~/directory/of/interest/ -maxdepth 2 -name "*" -size -100k -exec cp -r '{}' . \;

find ~/directory/of/interest/ -maxdepth 2 -name "*exclusion_string*" | xargs cp -rt .


Чего мне здесь не хватает?

...