ファイル名に含まれる全角英数字を半角に変換する

ファイル名に含まれる全角英数字を半角に変換するスクリプトを書いた。

OS X 10.5.4 で確認済み。

#!/bin/sh

#ディレクトリが指定されてなかったら終了
if [ ! -d  "$1" ]; then
  exit 0
fi

#ファイル一覧を取得
_FILES=`ls $1`

#アウトプット用ディレクトリを作成
_dir="_OUTPUT"
mkdir -p $_dir

#全角英数を半角に
for _FILE in ${_FILES}
do
  _new=`echo ${_FILE}|perl -CIO -ple 'tr/\x{FF01}-\x{FF5e}/\x21-\x7e/'`
  cp -R ${1}/${_FILE} ${_dir}/${_new}
done


つかいかた

$ sh ./zen2han.sh ディレクトリ名