На локальном хранилище (ext3/ext4) у меня есть тысячи файлов разных типов. Мне нужно их отсортировать, однако я могу придумать критерии для этого, пока это возможно, чтобы снова получить обзор.
Я хочу отсортировать их на основе метаданных. Это касается тегов id3 (mp3 и т. д.), заголовков информации AVI, MKV, OGM... Существуют различные инструменты для чтения этих MATA-данных из командной строки. Кто-нибудь знает об автоматизированном сортировщике файлов, который просто берет метаданные, создает структуру папок и перемещает файлы?
В MacOS X уже есть аналогичный инструмент (http://www.publicspace.net/BigMeanFolderMachine/), который строит иерархии папок и сортирует файлы на основе различных условий.
решение1
В качестве первого шага вам следует сначала переместить файлы, чтобы собрать их по типу (mp3, фильм, может быть, все аудио вместе, документы туда, текст сюда и т. д.: все отправляются в определенный каталог): для этой части просто используйте «file filename(s)» и немного скриптинга оболочки. (например: в двух словах: find /rootdir -type f -print | xargs -n 1 file | sed -e 's/^[^:]*:/&^/' | while IFS='' read wholeline ; do filename=$(echo $wholeline | cut -d^ -f1) ; fileinfo=$(echo "$wholeline"|cut -d^ -f2- | sed for further simplification) ; case "$fileinfo" in ..... (each simplified type with mv statements moving the "$filename" to proper destination depending on its fileinfo) ... ; esac; done
(это написано без тестирования! Это нужно протестировать! Много возможностей. Сначала попробуйте сами, пока не заработает, или вам не понадобится дополнительная помощь.)
Затем, как только он попадает в папку, где все они имеют схожие метаданные, другой инструмент может переместить их в определенную подпапку (или другую иерархию) в зависимости от этой конкретной дополнительной информации. IE, один инструмент на «тип файлов» может затем ретранслироваться отсюда. Для этой части используйте «соответствующий инструмент», который кто-то другой здесь, вероятно, перечислит ^^ (я уверен, что для mp3 есть много, но не могу дать вам ни одного, так как я ими не пользуюсь).