それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

sed コマンドで区切り文字を変えて、ファイル名に一致させる

sed の区切り文字を変える

sed コマンドでは、検索と置換の文字列を区切りを変えられます。

普通はスラッシュを使うと思うんだけど、スラッシュはフォルダ名やPATHで使われるため、エスケープ処理が面倒になる。

sed 's/search_name/takuya/g';

区切りを変える

sed 's|search_name|takuya|g';

その他にも記号を使える

その他の記号を使えるので、置換対象の文字列がURLの場合や、ファイル名の場合、エスケープが少なくなるように区切りを変えるのはいい方法だと思う。

takuya@:~$ echo abcd | sed -e 's/b/x/g'
axcd
takuya@:~$ echo abcd | sed -e 's#b#x#g'
axcd
takuya@:~$ echo abcd | sed -e 's$b$x$g'
axcd
takuya@:~$ echo abcd | sed -e 's%b%x%g'
axcd

sed コマンドは便利。つねに他の使い方も考えておきたい。