Вы можете изменить количество grep
строк (называемых "контекстом") с помощью параметров -C [num]
или --context=[num]
.
Обычно по умолчанию для grep
контекст без контекста, поэтому используемая команда должна быть в порядке. Вы можете заставить его показывать только совпадающие строки с помощью service --status-all | grep + -C 0
.
Чтобы исключить совпадающие строки, используйте -v
или --invert-match
. Таким образом, вы можете передать исходную команду через | grep -v '[ ?' | grep -v '[ -'
чтобы избавиться от строк с -
или ?
как их статус. Вы также можете объединить несколько строк соответствия, используя экранированные "или" (символ канала), например, grep -v '[ ?\|[ -'
.
Однако, поскольку service
по какой-то причине направляет свой вывод в stderr
вместо обычного stdout
, выходные потоки должны быть объединены с |&
для правильной работы grep
. Таким образом, рабочей командой здесь будет service --status-all |& grep +
.