Chienomi

連番ファイルの並べ替え、差し込み

zsh

彼女に書籍の電子化作業を頼んだのだが、あまりにも雑でかなり困った。

まず大量にあった、ページ順が逆になっているものについては、次のスクリプトをかいた

#!/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時間。

ほんっとに疲れた。