perl로 만든 간단한 툴입니다.

acidd15의 이미지

한마디로 현재 디렉터리에 regex에 부합하는 디렉터리나 파일이 있으면 replace로 치환하여 mv합니다.가끔씩 필요한 기능이라 만들어서 쓰고 있습니다.

#!/usr/bin/perl

if( @ARGV!=2 ){

  print "Usage: ".__FILE__." [regex] [replace]\n";
  exit 0;

}

$rp_cnt=0;
$cur_dir="./";

print "Start scan to current directory.\n";

opendir(DIR,$cur_dir) or die "Can't opendir $cur_dir: $!";
while( defined($file=readdir(DIR)) ){

  if( !($file=~/^\.{1,2}$/) ){

    ($modf=$file)=~s/$ARGV[0]/$ARGV[1]/g;

    if( $file ne $modf ){

      print "mv -v $file $modf.\n";
      `mv -v $file $modf`;
      ++$rp_cnt;

    }else{

      print "No match found '$file'.\n";

    }

  }

}

print ">>\t$rp_cnt files or directories were replaced.\n";

close(DIR);
Forums: