windowsから来たZipファイルを展開したら
文字コードがグチャグチャーって化けるのでした。辛い。
文字コードを修正するスクリプトをぱぱっと書いた
conv_file_name.sh -v -n path/to/*.pdf conv_file_name.sh -v path/to/*.pdf
nkf があれば何とか出来るんだけけれど結構面倒くさいのでファイル名を変化するシェルコマンド書いた。
あれこれ冗長なのと細かいエラー処理をしてないのであらゆる場面に対応できるかと言われれば多分出来ないけど。
とりあえず、これでいいや
conv_file_name.sh
#!/usr/bin/env bash
function mv_conv(){
src=$1
dst="$( echo -n $src | nkf -w )"
if [[ "$src" == "$dst" ]] ; then
return
fi
if [[ $3 == 1 ]] ; then
echo "'$src'" "'$dst'"
fi
if [[ $2 != 1 ]] ; then
mv "$src" "$dst"
fi
}
declare FILES;
declare VERBOSE;
declare DRY_RUN;
for arg ; do
case $arg in
'-n')
DRY_RUN=1
;;
'-v')
VERBOSE=1
;;
*)
FILES+=("$arg")
esac
done
for i in "${!FILES[@]}"; do
file=${FILES[$i]}
mv_conv "$file" "$DRY_RUN" "$VERBOSE"
done