Bash: информация с systemctl

С systemctl status name.service | grep Active Я получаю эту информацию:

Active: active (running) since Mon 2018-05-14 21:44:09 CEST; 5s ago

Как я могу получить ту же информацию, но без: "Active: "?

1 ответ

Ты можешь использовать

grep -oP 'Active: \K.*'

чтобы напечатать строку без "Active:":

$ systemctl status ssh.service | grep Active       
   Active: active (running) since Sat 2018-03-31 14:15:07 CEST; 1 months 13 days ago
$ systemctl status ssh.service | grep -oP 'Active: \K.*'
active (running) since Sat 2018-03-31 14:15:07 CEST; 1 months 13 days ago
  • -o говорит grep печатать только совпадающие части совпадающей линии
  • -P включает Perl-совместимые регулярные выражения (PCRE), которые необходимо использовать \K, что позволяет сохранить совпадение текста вне общего соответствия регулярному выражению.
Другие вопросы по тегам