このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1268979408/555
#  シェルの中で入力ファイル名から出力ファイル名を生成しています。 
#  特定の文字列・記号を正規表現でリネームしたいのですが思いつきません。 
#   
#  ファイル名前半部が異なるファイルが50以上あるのですが、思い通りにrenameしてくれません。 
#  ご教示お願いいたします。 
#   
#  対象ファイル: 
#  iko_foobar_hogehoge_20101008.tsv 
#   
#  リネーム後ファイル: 
#  iko_foobar_hogehoge-20101008.tsv 
#   
#  コマンドの実行イメージ 
#  rename iko*_[\d,8].tsv iko*-[\d,8].tsv 
#   
#  IN_FILE = ma_sina_syo_20100101 
#  OUT_FILE="${DIR_PATH_RCV}/${PREFIX}$(basename ${IN_FILE})${MARK}${YMD}.tsv" 
#  OUT_FILE=iko_ma_sina_syo-20100101.tsv 
#   
# 
# 

ファイル名前半部が異なるファイルをrenameする(_ディレクトリ名) :-
        concat_atom(['ls -N ',_ディレクトリパス名',S),
        shs(S,_行ならび),
        append(_,[_行|R],_行ならび),
        atom_chars(_行,Chars),
        length(L2,9),
        append(L1,L2,Chars),
        append([_],L3,L2),
        全部数字(L3),
        concat_atom(L1,S1),
        concat_atom(L3,S3),
        concat_atom(['mv ',_行,' ','iko_',S1,'-',S3,'.tsv']),Mv),
        system(Mv),
        R = [],!.

全部数字([]) :- !.
全部数字([A|R]) :- append(_,[A|_],['0','1','2','3','4','5','6','7','8','9']),全部数字(R).