Разделите файлы в каталоге и переместите их в другой вновь созданный каталог

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

Я использую эту команду для ручного перемещения файлов.

for file in $(ls -p | grep -v / | tail -100); do mv "$file" NEWFOLDER; done 

Но это будет достаточно сложно, если бы у меня было около 10000 файлов в одной папке.

One Solution collect form web for “Разделите файлы в каталоге и переместите их в другой вновь созданный каталог”

Я нашел ответ в https://stackoverflow.com/questions/10394543/need-a-bash-scripts-to-move-files-to-sub-folders-automatically

 #!/bin/bash c=1; d=1; mkdir -p NEWDIR_${d} for jpg_file in *.jpg do if [ $c -eq 100 ] then d=$(( d + 1 )); c=0; mkdir -p NEWDIR_${d} fi mv "$jpg_file" NEWDIR_${d}/ c=$(( c + 1 )) done 

попробуйте этот код

он отлично работает, я его тестировал

  • Как написать сценарий bash для сообщения состояний машины и условного ping их?
  • Настройка Bash - Как оставить пробелы перед выводом команды?
  • Может ли bash написать свой собственный поток ввода?
  • Возможно ли использовать bash -c 'bashrc?
  • Неожиданное поведение расширения поля с помощью bash for loop
  • Переместите все файлы в новый каталог, за исключением этого каталога
  • Что такое & >> в сценарии оболочки
  • Как сделать петли Bash
  • Является ли оболочка созданной `bash -i -c <command>` интерактивной?
  • Понять порядок команд в bash, когда задействованы функции
  • Когда была введена верхняя и нижняя замена колонны в Баш?
  • Interesting Posts

    Почему совместимость с Android не является общей особенностью в дистрибутивах Linux?

    Почему жесткие ссылки, похоже, занимают то же место, что и оригиналы?

    Что происходит с / etc / fstab при использовании initramfs?

    Ошибка аутентификации SASL: ответ клиента не соответствует тому, что мы создали

    Инициировать скрипты. Различие загрузочной и стартовой деятельности

    Перегрев ноутбука с использованием драйвера AMD / ATI с открытым исходным кодом

    Установите драйвер opengl на RHEL5.7

    Ядро не обнаруживает аппаратное / программное или аппаратное сбои

    FTP «помещает» не копирование файла на удаленный хост при запуске из сценария оболочки, но копирует файл на удаленный хост при запуске вручную

    vncserver -compatiblekbd не работает с непризнанной опцией

    Почему мы не можем убить процесс непрерывного D-процесса?

    Вырезание AV-файла (MP4)

    Скобка в команде echo shell

    Сделать звуковую карту видимой для нового пользователя

    Fish Shell: как установить несколько переменных среды из файла с помощью экспорта

    Linux и Unix - лучшая ОС в мире.