в
с каким параметром комбинация find xargs openssl будет пропускать ошибки

о
стандартно xargs останавливает выполнение, если вызываемая команда возвращает ошибку (ненулевой код возврата или статус 255). Чтобы xargs игнорировал ошибки и продолжал обрабатывать последующие файлы, используется подшелл для командной строки sh -c с добавлением || true внутри вызова. [1, 2]

Вот как выглядит правильная связка, чтобы успешно находить файлы и пропускать ошибки обработки:

B
find . -type f -name "*.txt" -print0 | xargs -0 -I {} sh -c 'openssl x509 -in "{}" || true'

Разбор параметров:

sh -c '... || true': запуск команды в оболочке шелл. Если openssl завершится с ошибкой (ненулевой код), сработает логическое OR и оболочка выполнит команду true, которая вернет нулевой (успешный) статус. xargs получит этот успех и продолжит работу.
-print0 (у find) и -0 (у xargs): обеспечивают безопасную обработку файлов, если в их названиях есть пробелы или спецсимволы.
-I {}: заменяет {} на имя текущего файла, переданного из find. [1]

Хотите ли уточнить параметры команды openssl, которые вы используете (например, для расшифровки, шифровки или проверки сертификатов), чтобы составить команду точнее?

