sedを使用して一致する行の単語を置き換える方法は?

sedを使用して一致する行の単語を置き換える方法は?

次のような行を検出するためにsed式を作成しようとしています。

s0:12345:respawn:/sbin/agetty -8 -s 115200 ttyS0 linux

そしてttys0に交換something_else

#コメント化された行(で始まる)を検出したくありません。

行全体を変更できますが、残りの行は変更せずに部分文字列のみを変更するにはどうすればよいですか?

ベストアンサー1

これを行う1つの方法は次のとおりです。

echo 's0:12345:respawn:/sbin/agetty -8 -s 115200 ttyS0 linux' | 
    sed -e '/^[^#]/ s/ttyS0/foo/'

おすすめ記事