プロが教えるわが家の防犯対策術!

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

A 回答 (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
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/06/20 13:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!