• ベストアンサー

Unix-sedコマンドによる置換について

sedでコマンド次の文字列をスペースに置換したいのですが うまくいきません。BF-DR1 =(0)A[7]OPN-ENDはスペースや大カッコが含まれています。 与えたコマンドは、 sed -e "s/ BF-DR1 =(0)A[7]OPN-END//g" <bf1Open.log>rrr.txt ですが、出力ファイルはまったく置換されていませんでした。 お分かりになる方どなたかご教授ください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

行中に "BF-DR1 =(0)A[7]OPN-END" という文字列が含まれていて、 これをスペース1文字(" ")に変換するということで良いでしょうか? であれば、大括弧[]は sed の正規表現として特別な意味を持ちますので、 単に文字として扱う場合には \ でエスケープする必要があります。 結果として、次のようにすればよいと思います。 sed -e "s/BF-DR1 =(0)A\[7\]OPN-END/ /g" <bf1Open.log>rrr.txt

starpochi
質問者

お礼

ありがとうございました。 できました。