
\/
以下の文字列を次のように置き換えるにはどうすればいいですか|
:
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
\/
を に置き換えたいので|
、ここでは\
と はそれぞれと/
としてエスケープされます。したがって、正規表現は です。\\
\/
\\\/