sedコマンド
bashにはファイル内の文字列を置換できるsedコマンドがある.
しかし,正規表現の文字列を置換する場合には少々厄介だ.
備忘録として正規表現の置換方法をまとめておく.
コマンドの前に
テスト用に以下のスクリプトを用意してみた.
test.c
#include<stdio.h>
int main(void){
char *filename = "tonarino/kyakuha/yokukaki/kuukyakuda";
return 0;
}
スクリプト中のtonarino/kyakuha/yokukaki/kuukyakuda
をnamamugi/namagome/namatamago
に置換したいとする.
%で区切る
上記の置換をsedコマンドで行いたい場合,対象の文字列を%で区切ることで置換可能となる.
sed -i -e 's%tonarino/kyakuha/yokukaki/kuukyakuda%namamugi/namagome/namatamago%g' *
これで置換できる.
test.c
#include<stdio.h>
int main(void){
char *filename = "namamugi/namagome/namatamago";
return 0;
}