シェルスクリプトでのupperとlower、capitalizeのやり方。file-rename-utils(freshmeat.net)より。
upperとlowerは常識的。
`echo -n $var | tr '[:lower:]' '[:upper:]'`
`echo -n $var | tr '[:upper:]' '[:lower:]'`
[:upper:]
は[A-Z]
、[:lower:]
は[a-z]
でも良い。
で、capitalizeが難しい。というか書く気がしないよこんなの。
`echo -n $var | cut -c 1 | tr '[:lower:]' '[:upper:]'` \ `echo -n $var | cut -c 2- | tr '[:upper:]' '[:lower:]'
昔(DOS)はよかった(?)。そもそもファイル名には大文字小文字の区別がないし、
REN *.TXT *.DOC
なんて非常識なコマンドがあったからな。globをコマンド側がやってたんだよね。で、共通のルーチンを呼ぶようにしてUnix的にglob後にmainを呼ぶような感じにして使っていた。なつかしい。
Unix系でもquoteしてもらうことにすれば実現できるとは思うけどね。
dos_rename '*.TXT' '*.DOC'
内容は以下みたいな感じか。
for i in *.txt ; do mv -i $i ${i%%.txt}.doc; done
こんだけで済むから、わざわざコマンドを書く必要がない。いまいちだな。