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

Это файлы в каталоге:

Ford-Mustang-001.jpg Ford-Mustang-002.jpg Ford-Mustang-003.jpg Chevy-Impala-001.jpg Chevy-Impala-002.jpg Chevy-Impala-003.jpg 

Я бы хотел сортировать их в подпапках:

 /Mustang /Impala 

    3 Solutions collect form web for “Как сортировать файлы в подпапку на основе части имени файла?”

    используя prename (perl renamer)

     prename 'if(/(.+?)-(.+?)-(.*)/){mkdir $2; $_="$2/$_"}' *.jpg 

    Очевидный ответ:

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

     mkdir Mustang Impala mv *Mustang*.jpg Mustang/ mv *Impala*.jpg Impala/ 

    Это называется файловым расширением ; это оболочка.


    Если у вас огромное количество файлов, и вам нужно сделать много разных каталогов для их размещения, попробуйте ответить JJoao .

    Я бы разделил имя файла с помощью awk awk {split $0, a, "-"; mkdir a[1]; mv $0 a[1]/} awk {split $0, a, "-"; mkdir a[1]; mv $0 a[1]/} awk {split $0, a, "-"; mkdir a[1]; mv $0 a[1]/} если вы хотите переименовать, вы можете сделать это с помощью программы mv

    Interesting Posts

    Пусть процесс читает и записывает все файлы внутри определенного каталога на любой глубине

    При использовании apt-get без подключения к Интернету, как определить, какие пакеты отсутствуют?

    Почему я не могу передать файл через wget (FTP) с помощью функции exec () в PHP?

    Невозможно отключить SELinux в RHEL 7

    Как установить несколько версий одного и того же пакета в Gentoo?

    Обмен пропускной способностью между IP-адресами

    Создайте псевдоним, который может взаимодействовать с аргументами

    Почему SSH-вход работает в оболочке, но не работает во всех третьих лицах через ssh-туннель?

    Перенос Ubuntu на жесткий диск большего размера

    Сумма файлов из списка файлов

    Зачем мне использовать зеркало rsync?

    Найдите шаблон, используя grep, а затем замените sed

    Как работает этот скрипт svn?

    Запуск NGINX в качестве обратного прокси на Docker?

    как использовать awk / cut для получения данных столбца, имеющего пространство

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