らんだむな記憶

blogというものを体験してみようか!的なー

ややこい連番のpdfの連結

week2-1.pdf
week2-10.pdf
week2-11.pdf
week2-12.pdf
week2-13.pdf
week2-14.pdf
week2-15.pdf
week2-2.pdf
week2-3.pdf
week2-4.pdf
week2-5.pdf
week2-6.pdf
week2-7.pdf
week2-8.pdf
week2-9.pdf

こういう連番のファイルがあるとしてこれを `ls *.pdf` で出力させて連結させると面白いことになってしまうことが想像される。辞書順で列挙されるからだ。なので、こちらの都合の良いようにsort したい。
結論としては

$ ls *.pdf | sort -t'-' -n -k 2

でいける。ハイフンを区切り文字として解釈させた上での2列目を数値としてsortさせるということだ。
オプションの解釈は柔軟なようなので、最後の部分は「-nk2」とまとめても良い。-tのほうもクウォーテーションで囲む必要はない。
よって後は、はぢめてのHaskell(8) & pdf - らんだむな記憶でやったように、

$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=week2.pdf `ls *.pdf | sort -t- -nk2`

すればローカルでガツンと結合できてしまう。

Windowsだとデフォルトでここまでコマンドがないのでいちいち導入するか、VMLinuxを入れないとならないが、Macだと最初から色々揃っているし、不足していても大抵はMacPortsなりで放り込めば済んでしまうので便利だ。一体いつになったらWindowsコマンドライン環境は便利になるのだろう。PowerShellで頑張れとでもいうのだろうか?
しかし、じゃぁすぐさまMacに移行したいかというとそこはそこで。わかりやすい!簡単!Mac基本メンテナンス アクセス権の修復を実践しようにあるようにたまに「アクセス権の修復」をしておいてあげるほうが良さそうなのだが、ファイルがダメになることも稀にあるとか書いてあって怖い。でも確かに、な~~~んかシャットダウンに数分かかることがあるので、そろそろ必要な状態なのかもしれない。
ディスクユーティリティでディスクのアクセス権を修復する - Apple サポートによると、

OS X El Capitan からは、システムファイルのアクセス権は自動的に保護されるようになりました。ディスクユーティリティでアクセス権を検証したり修復したりする必要はなくなりました。

などと書いてある。えるきゃぴたんめ...。ファイルが破損する可能性がなくなったのか、たまに破損するよゴメンね!なのか、元々破損がデマなのか...。
まぁ、ともかくお世話は必要だし、レインボーも結構頻繁にくるくるするので、幻想は結構壊れてしまっている。完璧なOSなんてないんだ!