Bash:带有 systemctl 的信息

Lil*_*lia 5 command-line grep text-processing

随着systemctl status name.service | grep Active我得到这个信息:

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

我怎样才能获得相同的信息但没有:“活动:”?

des*_*ert 7

您可以使用

grep -oP 'Active: \K.*'
Run Code Online (Sandbox Code Playgroud)

打印没有“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
Run Code Online (Sandbox Code Playgroud)
  • -o告诉grep只打印匹配行的匹配部分
  • -P启用 Perl 兼容的正则表达式 (PCRE),这是需要使用的\K,它使匹配的文本远离整体正则表达式匹配。