'\/'' を sed に置き換える

'\/'' を sed に置き換える

\/以下の文字列を次のように置き換えるにはどうすればいいですか|:

bssapi_6 0\/0\/0\/9\/9

bssapi_6 0|0|0|9|9

答え1

大量のエスケープを適用すると、次のようになります。

sed 's/\\\//|/g' < inputfile

@セパレータとして使用することで読みやすくなります:

sed 's@\\/@|@g' < inputfile

答え2

どちらか:

sed 's/\\\//|/g' your_file

または、_パターン区切り文字として使用して、 をエスケープする必要がなくなります/

sed 's_\\/_|_g' your_file

答え3

使用方法awk:

ファイル用input

$ cat input
bssapi_6 0\/0\/0\/9\/9

次のようにします。

awk '{gsub(/\\\//,"|"); }1' input

\/を に置き換えたいので|、ここでは\と はそれぞれと/としてエスケープされます。したがって、正規表現は です。\\\/\\\/

関連情報