Вы всегда можете попробовать пропустить это через что-то еще, например cat
, чтобы избавиться от кода выхода из grep - хотя это может быть большим молотком, чем вы хотите.
Код выхода из программы grep
3981
math
Когда мне нужно подавить какой-то вывод, например
foo | grep -v bar
Но foo дает иногда только:
bar bar bar...
grep вернет -1. Как мне преобразовать код выхода 1 в 0?
2 ответа на вопрос
8
Goyuix
и это, кажется, даже в соответствии с Posix
math 14 лет назад
0
Вы также можете сделать `|| true`, если вы пытаетесь обойти сбой в `set -e`
Daenyth 14 лет назад
8
@Daenyth Конечно, это преобразует _every_ ненулевой код выхода в 0, а не только в 1.
Marnix Klooster 7 лет назад
0
0
Marnix Klooster
По крайней мере, в Bash, вы можете использовать
foo || (EC=$?; if [ $EC -ne 1 ]; then exit $EC; fi)
Это изменяет код выхода 1 на 0 и больше ничего не меняет.
(Возможно, не POSIX-совместимая, но, возможно, POSIX-совместимая версия существует.)
Похожие вопросы
-
9
grep все файлы .java в каталоге для конкретной строки
-
3
Может ли GNU Grep выводить выбранную группу?
-
5
Grep инструмент для XML
-
-
4
Как я могу рекурсивно grep определенных файлов в каталоге?
-
8
Linux grep или найти использование
-
4
Какая польза от? в команде grep .. и практическое использование
-
5
Получение цветных результатов при использовании трубы от grep до менее
-
7
как подать сигнал на хвост -f событие
-
6
grep для Vista 64?
-
6
Linux: перечислить содержимое подкаталогов с указанным именем?