どうも、人間というのは「その他」が好きです。
分類がめんどくさいからなのか、分類を考えるのが嫌なので後回しにしているのか、あるいはその両方か。明確に分類されたフォルダ構成の中に、「その他」が混ざってくると、あっという間に「その他」使用率があがります。
かく言う私自身も「その他」愛好家ですので、仕事のデータから過去の資料から、何から何までとりあえず「その他」につっこむ癖があります。
「その他」につっこんだ後には、「その他」の中で階層分けをしてディレクトリを切って行くなんてことも始まってしまうので、「その他」主導の政治が始まってしまい、正規のディレクトリ住民たちが被害を被るなんて話もよくあります。
私の場合も例外でなく、過去に作成した資料やデータ、「参考のために!」という高い志でダウンロードしたホワイトペーパーなどを崇高な「その他」フォルダにつっこんでいたのですが、いよいよどこにあるかわからなくなって困ってきたので、整理を考える事にしました。
とまあ、色々考えたふりなどをしてみたのですが、我が家のファイルサーバはLinuxなので、とりあえずシェルを書いて自動分類しよう、というのは即決です。
問題は分類の方式なのですが、資料の方向性ごと、用途ごとなど、感情の挟まる隙間があるとどうしようもなくなってしまうので、拡張子ごとに整理するという方式をとりました。
拡張子で分類されてしまえば、「パワポ、パワポ、あのときのパワポ・・・」と無駄な時間を過ごす必要もなくなり、該当する拡張子フォルダさえ探してしまえばいいからです。
さて、書いたシェルはこちらです。
raspberry piで動かして、問題なく動いているので、Linux環境であれば動くと思います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
#!/bin/sh ###### #入力項目 ###### #分類元 src_dir="/mnt/hdd/Shared/src/" #移動先 dst_dir="/mnt/hdd/Shared/dst/" #分類したい拡張子を入力させる echo -n "input Extension:" read d_extension echo "#####" echo "#####"$d_extension"のファイル移動を開始します。#####" echo "#####" echo "" sleep 3 echo "#####" echo "#####dstディレクトリの存在をチェックします。" echo "#####" #dstに宛先ディレクトリがなければ作成します。 cd $dst_dir mkdir -p $d_extension echo "" sleep 3 echo "#####" echo "#####srcディレクトリに移動します。" echo "#####" cd $src_dir echo "" sleep 3 echo "#####" echo "#####ファイルの移動を開始します" echo "#####" find . -name '*.'${d_extension} -print0 | xargs -0 -I{} mv -bv {} $dst_dir${d_extension} echo "" echo "#####" echo "#####ファイルの移動が完了しました" echo "#####" |
シェルを叩くと、最初に拡張子を入力させます。
pdfならpdfと打てば、srcフォルダ内の.pdfファイルを探し出して、 dstフォルダ内にpdfというディレクトリを切り、そこに移動してくれます。
mvコマンドに-bのオプションがついていますので、同名のファイルも上書きされずにチルダがついてバックアップファイル扱いになります。
あまり汎用性が高くないですが、個人事業の仕事ファイルを分類するには十分な便利さとスピードです。
これでさらに「その他」フォルダの活用が増えそうという本末転倒な結末を迎えそうな気がしますが、その時はこのシェルにがんばってもらう事にしましょう。