Ordena los files en carpetas, según el tipo de file

Tengo aproximadamente 2,8 TB (sí, terabytes) de datos que he recuperado, esto se escaneará en busca de duplicates, la máquina en la que residen estos files es bastante vieja y solo tiene 2 GB de memory (sin embargo, funciona bien para LVM), por lo que duplicar el escaneo es pedir dolor.

Mi pregunta es: ¿cómo puedo lograr que Debian mueva files a una carpeta con ese tipo de file? Cambie el nombre automáticamente donde sea necesario sin necesidad de especificar una list de types de files.

Tengo alnetworkingedor de 800GB de espacio libre, así que puedo hacer algunas testings antes de dejar que esto se pierda en mis datos.

Solutions Collecting From Web of "Ordena los files en carpetas, según el tipo de file"

Con un directory que se parece a

 $ ls another.doc file.txt file1.mp3 myfile.txt 

Podemos build una list de extensiones de files con este command:

 $ exts=$(ls | sed 's/^.*\.//' | sort -u) 

A continuación, podemos recorrer estas extensiones moviendo files a subdirectorys:

 $ for ext in $exts > do > echo Processing $ext > mkdir $ext > mv -v *.$ext $ext/ > done 

Cuando esto se ejecuta obtenemos el siguiente resultado:

 Processing doc 'another.doc' -> 'doc/another.doc' Processing mp3 'file1.mp3' -> 'mp3/file1.mp3' Processing txt 'file.txt' -> 'txt/file.txt' 'myfile.txt' -> 'txt/myfile.txt' 

El resultado:

 $ ls doc/ mp3/ txt/ $ ls * doc: another.doc mp3: file1.mp3 txt: file.txt myfile.txt