Как автоматически отсортировать файлы?

У меня много файлов на внешнем жестком диске, поэтому я хочу автоматически сказать компьютеру отсортировать все мои файлы по папкам по размеру, расширению, имени и другим переменным. Есть ли какая-нибудь программа, которая позволит мне выполнять эти задачи. Пожалуйста, научите меня, как его установить.

1
задан 8 November 2012 в 13:52

3 ответа

Мне неизвестна какая-либо легкодоступная программа для него, но вы можете написать сценарий оболочки, комбинируя такие команды, как

du -a | sort -nr

, для отображения файлов в обратном порядке размера.

и вы можете использовать его в сочетании со сценарием NorTicUs, упомянутым в посте выше

find . -name \*.txt -size +599k -exec mv {} bigTextFolder \;

, чтобы указать динамический размер, заменив 599K на переменную, содержащую выходные данные 1-й команды.

0
ответ дан 8 November 2012 в 13:52

Если вы в порядке, чтобы использовать команды bash, вы должны посмотреть страницу руководства для команды find Manpage icon .

find . -name \*.txt -size +599k -exec mv {} bigTextFolder \;

С помощью этой строки вы можете переместить все файлы .txt размером более 600 КБ в папку bigTextFolder. Вы можете найти много документации по поиску в сети ( Beginner Linux Guide ) и список всех тестов, доступных на странице руководства (первая ссылка).

Чтобы понять команду, посмотрите аргументы:

  • . - это каталог, где find будет искать файл. Вы можете заменить это путем вашего жесткого диска.
  • -name \*.txt - это фильтр имен. Он может использовать подстановочные знаки (*), если вы избегаете их с помощью. Вы можете прочитать это как «Найти все файлы с именем, оканчивающимся на .txt». Замените это на шаблон, который вы ищете:
    • Весь файл начинается с: find . -name a\*
    • Файл aba.txt: find . -name aba.txt
  • -size +599k - фильтр размера. Здесь вы говорите: «Найти все файлы с размером, строго превышающим 599KB». Измените 599 на нужный вам размер, а k - это просто единица измерения.
  • -exec позволяет выполнить другую команду, как только файл найден. Итак, здесь для каждого найденного файла мы делаем mv fileFounded targetFolder. {} будет заменен вашим результатом. Эта часть должна заканчиваться на \;.

Имейте в виду, что у вас есть много других фильтров: тип, дата, владелец, разрешения, ...

0
ответ дан 8 November 2012 в 13:52

Я делаю скрипт Python, который сортирует файлы по их расширениям. В будущем у него будет больше возможностей, но я думаю, что это может вам помочь https://github.com/phaalonso/FileOrganizer

0
ответ дан 17 June 2020 в 04:46

Другие вопросы по тегам:

Похожие вопросы: