- ベストアンサー
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 ですが、出力ファイルはまったく置換されていませんでした。 お分かりになる方どなたかご教授ください。
- みんなの回答 (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
お礼
ありがとうございました。 できました。