2 つの方法:
<オール>find . -name '*mp3' -or -name '*ogg' -print | xargs -J% mv % ../../Music
find . -name '*mp3' -or -name '*ogg' -exec mv {} ../Music \;
1 つ目はパイプを使用するため、引数のスペースが不足する可能性があります。一方、2 番目はフォークが多すぎて遅くなる可能性があります。ただし、どちらも機能します。
別の方法:
mv -v {*.mp3,*.ogg,*.wav} ../Music
mv -v {*.mp4,*.flv} ../Videos
PS:オプション -v は何が起こっているかを示します (詳細)。
ファイルがディレクトリに追加されたときのトリガーはありません。ファイルが Web ページ経由でアップロードされている場合、Web ページでそれを実行できる可能性があります。
UNIXマシン(またはWindowsのタスクスケジュール)では、これを行うスクリプトをcrontabに入れることができます。ハウツーについては Google crontab。
コマンドを組み合わせるには、次のようにします:
mv *.mp3 *.ogg ../../Music
さまざまな「グロブ」 (ワイルドカードを含むファイル名) を好きなだけ含めることができます。最後にターゲット ディレクトリを指定する必要があります。