
※こちらの記事は2016年にQiitaに投稿した記事を再編集したものです
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で区切ってみたけど、これはこれで見にくいですね。
コメント