連番ファイルの並べ替え、差し込み
zsh
- TOP
- Old Archives
- 連番ファイルの並べ替え、差し込み
彼女に書籍の電子化作業を頼んだのだが、あまりにも雑でかなり困った。
まず大量にあった、ページ順が逆になっているものについては、次のスクリプトをかいた
#!/usr/bin/zsh
files=(*)
dfiles=(${(aO)files})
print -l $dfiles
for i in "$files[@]"
do
mv -v "$i" "$i.tmp"
done
integer index
for (( index = 1; index <= ${#files} ; index++ ))
do
mv -v "$files[$(( index ))].tmp" "$dfiles[ $(( index )) ]"
done
逆順はまだしも、差し込みはきつかった。 どこで何をしたかは説明したくないので、打ったコマンドをまとめて。 (Zsh)
for i in *
do
mv $i $i[6,8].jpg
done
for i in <100->*
do
mv $i $(( ${i:r} + 36 )).jpg
done
for i in <23-99>*
do
mv $i 0$(( ${i[2,3]:r} + 36 )).jpg
done
for i in *
do
mv $i $i[6,8].jpg
done
files=(*)
for i in ${(aO)files}
do
mv $i 0$(( ${i[2,3]:r} + 17 )).jpg
done
for i in *
do
mv $i $i[6,8].jpg
done
for i in <100->*
do
mv $i $(( ${i:r} + 4 )).jpg
done
for i in <93-99>*
do
mv $i 0$(( ${i[2,3]:r} + 4 )).jpg
done
for i in 01??.*
do
mv $i $i[2,-1]
done
for i in *
do
mv $i 0$(( ${i[3]:r} + 90 )).jpg
done
重要なのは
- 必ず後ろからやる
- nnnなので、100をこえるものは先にやる
- 0nnなものはArithmatic expansionの前にちゃんと0をつける
そして、紙がまとめて通ってしまったものはどうしようもないし、ページが何の順番でもないものは再スキャンしたほうが早いので、ゴミ箱から探して組み直し。 所要時間はだいたい4時間。
ほんっとに疲れた。