※こちらの記事は個人ブログに移行しました
sedコマンドでファイルパスを置換したい時とか、
たいてい以下みたいな感じに書くと思う。
$ echo /path/to/file | sed -e 's/path\/to/path2/g'
/path2/file
/
をエスケープしなければいけないのでそのままコピペできなかったり見づらかったりいろいろ面倒。
#実は...
sedの区切り文字は/
じゃなくても動く。
例えば#
で区切ってみる。
$ echo /path/to/file | sed -e 's#path/to#path2#g'
/path2/file
エスケープしなくていいので見やすい。
#ちなみに...
s
の次の文字を区切り文字として使うのでこんな感じでも動く。
$ echo /path/to/file | sed -e 'sxpath/toxpath2xg'
/path2/file
x
で区切ってみたけど、これはこれで見にくい。