如何用 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'