Вам следует подумать о перемещении всего внутри одной крыши / инструмента, чтобы упростить задачу:
grep -qE '^SOME_PHRASE.*[^[:space:]]' yourfile
perl -0777ne 'exit !/^SOME_PHRASE.*?\S/m' yourfile
sed -ne '/^SOME_PHRASE.*[^[:space:]]/q;$q1' yourfile
Для показанных данных сразу после выполнения любой из приведенных выше команд мы запускаем:
echo "$?"
1
Perl
проглатывает
весь ваш файл и ищет ключевое слово в начале строки, что разрешено для многострочных
строк с помощью модификатора // m
. !
объясняет тот факт, что SUCCESS
в Perl
и Unix
миры дополняют друг друга.
Sed
работает в , не печатайте, если не запрашивается
режим -n
и предполагается, что GNU sed
имеет q
, которая также включает статус выхода.