С systemctl status name.service | grep Active я получаю эту информацию:
Active: active (running) since Mon 2018-05-14 21:44:09 CEST; 5s ago
Как получить такую же информацию, но без: «Active:»?
Вы можете использовать
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, который сохраняет текст, подобранный так далеко от общего соответствия регулярному выражению. Вы можете использовать
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, который сохраняет текст, подобранный так далеко от общего соответствия регулярному выражению.