GNU/Linux >> Linux の 問題 >  >> Linux

拡張子に基づいてファイルをディレクトリに移動する

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
    

    さまざまな「グロブ」 (ワイルドカードを含むファイル名) を好きなだけ含めることができます。最後にターゲット ディレクトリを指定する必要があります。


    Linux
    1. Linuxターミナルでファイルを移動する

    2. ファイル名を別のディレクトリに読み取ってファイルを移動しますか?

    3. `rm`をゴミ箱に移動しますか?

    1. 拡張子に基づいて特定のファイルを移動する方法は?

    2. 「cp」および「mv」コマンドを使用してLinuxでファイルとディレクトリをコピー/移動する方法

    3. Linux でファイルとディレクトリを親フォルダーに移動するにはどうすればよいですか?

    1. Linuxでファイルとディレクトリをコピーする

    2. 最大のファイルまたはディレクトリを見つけますか?

    3. Linux ファイルとディレクトリの削除