Как я могу удалить содержимое содержимого команды find в Linux? - PullRequest
0 голосов
/ 12 октября 2018

Я знаю, что могу найти файлы или каталоги с помощью команды Linux:

find ./ -name '*build*'

и знаю, что могу удалить ее с помощью опции -exec:

find ./ -name '*build*' -exec rm -rf {} \;

Проблема в том, что мне нужно сохранить папку сборки, но удалить все ее содержимое.Так что у меня останется несколько пустых build/ каталогов.

Как я мог это сделать тогда?

1 Ответ

0 голосов
/ 12 октября 2018

Вы можете использовать -execdir для выполнения чего-либо в каталоге, в котором найдено совпадение.

find . -name '*build*' -execdir sh -c 'rm -rf {}/*' \;

(Небольшой нечеткий) подоболочек необходим для того, чтобы подстановочный знак расширялся только тогда, когда -execdir бывает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...