capitalize、lower、upper

シェルスクリプトでの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

こんだけで済むから、わざわざコマンドを書く必要がない。いまいちだな。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です