grep показывает все строки, а не только совпадения, устанавливает статус выхода

Я передаю некоторый вывод команды в egrep, который я использую, чтобы убедиться, что конкретная строка ошибки не появляется в .

Сама команда, к сожалению, не будет возвращать надлежащий ненулевой статус выхода при ошибке, поэтому я и делаю это.

command | egrep -i -v "badpattern"

Это работает, поскольку дает мне код выхода, который я хочу (1, если badpattern появляется в выводе, в противном случае 0), НО, он выводит только строки, которые не соответствуют шаблону (как был разработан переключатель -v). Для меня эти строки самые интересные.

Есть ли способ, чтобы grep просто слепо проходил через все строки, которые он получает в качестве входных данных, и просто выдавал мне соответствующий код выхода?

Если нет, я подумал, что могу просто использовать perl -ne "печать; выход 1, если / badpattern /". Я использую -n вместо -p, потому что -p не будет печатать строку с ошибкой (поскольку она печатает после выполнения однострочного). Итак, я использую -n и сам вызываю print , что, по крайней мере, дает мне первую оскорбительную строку, но затем вывод (и выполнение) останавливается на этом, поэтому мне придется сделать что-то вроде

perl -e '$ код = 0; в то время как (<>) {печать; $ code = 1, если / badpattern /; } exit $ code '

, который делает все, но немного перегружен, есть ли простой переключатель командной строки для grep, который будет делать то, что я' / dev / sda1, vol-a9 (15 ГиБ), ...

Я хочу создать AMI своего экземпляра, но меня пугает следующее приглашение на AWS:

The instance you're using as a template for a new image has the following volumes:
/dev/sda1, vol-a9 (15 GiB), will delete on termination
Total size of EBS volumes: 15 GiB.
When you create an EBS image an EBS snapshot will also be created for each of the above volumes.

Теперь, когда он говорит, что EBS том будет удален при завершении, означает ли это завершение сценария, создающего AMI, или только когда я завершаю работу экземпляра?

6
задан Ben 26 May 2011 в 21:43
поделиться