GNU/Linux >> Linux Esercitazione >  >> Linux

Sposta i file nelle directory in base all'estensione

Due modi:

  1. find . -name '*mp3' -or -name '*ogg' -print | xargs -J% mv % ../../Music
  2. find . -name '*mp3' -or -name '*ogg' -exec mv {} ../Music \;

Il primo utilizza una pipe e potrebbe esaurire lo spazio per gli argomenti; mentre il secondo potrebbe usare troppe forchette ed essere più lento. Ma entrambi funzioneranno.


Un altro modo è:

mv -v {*.mp3,*.ogg,*.wav} ../Music
mv -v {*.mp4,*.flv} ../Videos

PS:l'opzione -v mostra cosa sta succedendo (prolisso).


Non esiste alcun trigger per quando un file viene aggiunto a una directory. Se il file viene caricato tramite una pagina web, potresti essere in grado di farlo fare alla pagina web.

Puoi inserire uno script in crontab per farlo, su macchine unix (o programma di attività in Windows). Google crontab per istruzioni.

Per quanto riguarda la combinazione dei tuoi comandi, usa quanto segue:

mv *.mp3 *.ogg ../../Music

Puoi includere tutti i diversi "glob" (nomi di file con caratteri jolly) che desideri. L'ultima cosa dovrebbe essere la directory di destinazione.


Linux
  1. Sposta i file nel terminale Linux

  2. Trova i file o le directory più grandi?

  3. Spostare i file leggendo i loro nomi di file in directory diverse?

  4. Come copiare / spostare file e directory in Linux con i comandi "cp" e "mv".

  5. Spostare un intervallo di file numerati?

Come comprimere file e directory in Linux

Come spostare file e directory in Linux (comando mv)

Come spostare un gran numero di file in Linux

Compressione e archiviazione di file e directory

Trova facilmente file e directory su Linux

Linux Rinomina estensione file multipli