激闘、Bシェル

余裕こいてたけど、はまって慌てた。金曜日、今日で動くものができた。


今回は大作です。


結構、縛りが多い仕様で苦労した。


まず、ファイルの数が尋常でない。
多いとこで、15万ファイルある(笑)


作りは単純なファイル圧縮+移動、削除なんだけどね。


入力に正規表現が対応してないとダメで、
なんだ、ファインドで楽勝じゃんと思った貴方!


ダメなんです…
Bシェルも引数が1M越えると、エラーになっちゃうのです(T-T)


困りました…
で、考えたというかアイデアを募って実装したのが…


カレントに飛んで、リストを引数なしでリダイレクト。


ヘッドとテイルで一部分を抜き出して、それをループの中でファインドするというもの。


なんでファインドかというと、ファイルの更新日をみる必要があるからです。


でもまだ問題が…
ファインドはサブディレクトリも探しにいってしまう事。


これはマンでピールンって、オプションでなんとかなった(汗)


でも指定方法が独特で、ネーム指定しないで、探索位置に指定しないといけない。
(追加でネーム指定しても可)


あとは速度の問題。
15万ファイルのうち、2万ファイルで27分かかる。


これでは実用には耐えられないわね(汗)


今日もうおわらねーってことでキルコマンド投下!