sedは、AIX 6.1でパターンを照合した後に2行のストリングを置き換えるために使用されます。

sedは、AIX 6.1でパターンを照合した後に2行のストリングを置き換えるために使用されます。

パターンを一致させた後、2行の文字を置き換えようとします。これを行うには、次のコードを使用します。

sed '/some_pattern/{N;N;s/word1/word2/}' /etc/filesystems > /etc/filesystems.tmp && mv -f /etc/filesystems.tmp /etc/filesystems

このコマンドをテストしたところ、Linuxで正常に動作していることが確認されました。ただし、AIX で使用すると、次のエラー・メッセージが表示されます。

sed: Function /some_pattern/{N;N;s/word1/word2/} cannot be parsed.

どんなアイデアがありますか?

答え1

AIX sedでは、各コマンドは別々の行になければなりません。バラよりマニュアルページ そして試してみてください

sed '/some_pattern/{
 N
 N
 s/word1/word2/
}'

答え2

これは私にとって効果的です

sed '/some_pattern/{N;N;s/word1/word2/;}'

関連情報