sed 命令代码无效

Dis*_*ame 4 osx sed

这是我正在使用的命令:

system_profiler | sed -n -e '/SATA/SATA Express:/,/Software:/ p'
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误

sed: 1: "/SATA/SATA Express:/,/S ...": invalid command code S
Run Code Online (Sandbox Code Playgroud)

我不明白为什么它不起作用,尤其是当这个几乎相同的命令起作用时:

system_profiler | sed -n -e '/Hardware Overview:/,/Installations:/ p' 
Run Code Online (Sandbox Code Playgroud)

我不知道?没有理由逃避S。

hee*_*ayl 5

转义两者/之间SATASATA Express:使其成为字面意思:

system_profiler | sed -n -e '/SATA\/SATA Express:/,/Software:/ p'
Run Code Online (Sandbox Code Playgroud)

或使用以下语法使用不同的分隔符:

system_profiler | sed -n -e '\|SATA/SATA Express:|,/Software:/ p'
Run Code Online (Sandbox Code Playgroud)