macOS - Создание папок на основе части имени файла (часть 2) - PullRequest
0 голосов
/ 10 июня 2019

Это продолжение другого потока ( mac OS - Создание папок на основе части имени файла )

Я использую macOS и ищу способ быстрой сортировкитысячи файлов JPG.Мне нужно создать папки на основе части имен файлов, а затем переместить эти файлы в нее.

Проще говоря, я хочу поместить эти файлы:

12345E.JPG
12345E_1.JPG

99876S.JPG
99876S_1.JPG
99876S_2.JPG

В эти папки:

12345E
99876S

Имейте в виду, что длина имени «x» и «y» может быть разной.

Существует ли автоматическое решение для этого в maxOS?Я пытался использовать Automator и Terminal, но я не программист, поэтому я не справился.

Я пробовал это:

find . -type f -name "*jpg" -maxdepth 1 -exec bash -c 'mkdir -p "${0%%_*}"' {} \; \
-exec bash -c 'mv "$0" "${0%%_*}"' {} \;

, но это не похоже накак .JPG против .jpg

find . -type f -name "*jpg" -maxdepth 1 -exec bash -c 'mkdir -p "${0%%_*}"' {} \; \
-exec bash -c 'mv "$0" "${0%%_*}"' {} \;

1 Ответ

0 голосов
/ 10 июня 2019

Попробуйте

find . -type f -name "*jpg" -o -name "*JPG" -maxdepth 1 -exec bash -c 'mkdir -p "${0%%_*}"' {} \; \
    -exec bash -c 'mv "$0" "${0%%_*}"' {} \;

-o означает или.

В качестве альтернативы, вы можете просто запустить команду дважды, один раз для .jpg и один раз для файлов .JPG.

...