まだまだエクセル全盛期なシステム業界。
複数ファイルをデプロイ依頼するにも
いちいち1ファイルごとに
容量・タイムスタンプ・パーミッションを書かされるのが
ぼくの現場です。
今日は300ファイルくらい申請する必要があります。
先輩に聞いたら
「右クリックでプロパティでサイズと更新日は分かるよ」と
真顔で言われました。
さすがにやってられないのでbashの練習がてら
Shellで組んで見ることにしました。
ファイルをリストアップする
find か ls -lR か tree が候補にあがると思います。
この後一覧を加工したりするので
一番素直に出力される find を採用することにしました。
find . -type f
日付の形式を指定してlistする
なんか、日付のフォーマットが
自分の開発環境だと英語表記だったので
フォーマットを指定します。
ls -l --time-style=+'%Y-%m-%d_%H:%M:%S'
複数スペースを1スペースに変換する
ls -l コマンドでは、半角スペース埋めで整形されて出力されます。
そのままだと扱いづらいので、この変換をかませます。
sed -i -e 's/\s\+/ /g' list.txt
※なぜか 's/ +/ /g'では上手くいきませんでした。
ファイル名でソートする
findは基本的にソートしてくれないので、sortコマンドで
別途ソートして上げる必要があります。
7番目の要素でソートするようにすればファイル名でソートになります。
sort -k7
半角スペースをタブに変換する
sed -i -e 's/ /\t/g' list.txt
これでようやく300ファイルをいちいち
右クリックする必要がなくなりました。
やったね。
・・・
SubversionかGitか
何かある世界に生まれたかったです。。。