Я знаю, что мы можем использовать find -exec ...
, чтобы указать команду для запуска для каждого файла, и вывести только те файлы, для которых команда выполнена успешно, например, find . -exec test -d {} \; -print
распечатает все каталоги.Я хотел бы дать -exec
конвейер и иметь find
возвращаемых файлов, для которых последняя команда конвейера вернула true.
Если быть точным, я хотел бы запустить jar -t
для каждого файлаи grep
вывод имени класса.Я попытался find . -name \*jar -exec jar -tf {} \|grep -q foo \; -print
, но он возвращает все файлы.Как я могу это изменить?