如何使用 SED 捕获前缀短语之后的所有内容?

如何使用 SED 捕获前缀短语之后的所有内容?

如何用 sed 捕获前缀短语之后的所有内容?

就像这里我希望抓住active/idle

$ sudo hdparm -C /dev/sda

/dev/sda:
 drive state is:  active/idle
$ sudo hdparm -C /dev/sda | sed "s/\s*drive state is:\s+\(.*\)/\1/;tx;d;:x"

(后面是空输出)

答案1

将 stderr 重定向到 stdout 并抑制不需要的部分:

sudo hdparm -C /dev/sda 2>&1 | sed -n 's/.*drive state is: *//p'

相关内容