sed コマンドコードが無効です

sed コマンドコードが無効です

これは私が使用するコマンドです:

system_profiler | sed -n -e '/SATA/SATA Express:/,/Software:/ p'

それは私にこのエラーを与えた

sed: 1: "/SATA/SATA Express:/,/S ...": invalid command code S

特に、ほとんど同じコマンドが動作しているときになぜ動作しないのか理解できません。

system_profiler | sed -n -e '/Hardware Overview:/,/Installations:/ p' 

わからない? Sを避ける​​理由はありません。

答え1

/2つの関係を超えて文字通りにSATA作成しますSATA Express:

system_profiler | sed -n -e '/SATA\/SATA Express:/,/Software:/ p'

または、次の構文を使用して別の区切り文字を使用します。

system_profiler | sed -n -e '\|SATA/SATA Express:|,/Software:/ p'

答え2

/Hardware Overview:/,/Installations:/ p

Hardware Overview:このコードは、一致する行と一致する行の間のすべての行を印刷することを意味しますInstallations:

SATA Express:/2番目のコードは意味がありません。住所の後ろに入れることはできません。sedそこからコマンドを待つか、別のアドレスの後にカンマが来るのを待ちます。何を達成したいですか?

関連情報