シェル上での文字列の変換2008年04月12日 18時20分42秒

時折、シェル上で文字列の変換をしたいことがある。例えば、スキャナーで読み込んだ画像や、デジタルカメラの画像などが大文字なので、小文字に変えたい時などだ。

この様な時は、tr が一番だろう。translate characters の略だ。結構、長いことこのコマンドを知らずに、awk などを使っていた事もあった。


% echo abc | tr [a-z] [b-za]
bcd
% echo ABC | tr [A-Z] [a-z]
abc

一気にファイル名を変換をする時は、ループを使う。


% sh -c 'for i in *.JPG; do mv $i `echo $i | tr [A-Z] [a-z]`; done'