フォルダ内ファイル一括修正プログラムの雛型
たとえば、フォルダ内に沢山のhtmファイルがあったとします。
全htmファイルのh4要素(h4タグ)をh3要素(h3タグ)に一括変更するには、以下の感じです。
$/ = undef; # ファイル全体を読み込むためにレコード区切り文字デリミタを未定義にする while ($fileName = glob("VBMemo*.htm")) { open(FH, "<$fileName") or die "open error1 ($!)"; $fileBody = <FH>; # ファイル全体を読み込む close(FH); $fileBody =~ s/<h4/<h3/g; $fileBody =~ s/<\/h4/<\/h3/g; open(FH, ">$fileName") or die "open error2 ($!)"; print FH $fileBody; # ファイル全体を書き込む close(FH); }
上記プログラムにおいて、フォルダ内ファイル一括変更で、以下の2点を調整すれば、いろいろ応用が利くはずです。
- glob("VBMemo*.htm")のところをワイルドカードでファイル名を指定します。
- s///のところの置換や変換をケースバイケースで変更します。
留意点
ファイルそのものを置き換えますので、万が一を考えて、ファルダを一時的にどこかへコピーしてから、上記プログラムを実行してください。万が一のときは、そこからロールバックしてください。