Моя проблема в том, что у меня слишком много файлов в одном каталоге. Я не могу «ls
», каталог слишком большой. Мне нужно переместить все файлы в лучшую структуру каталогов.Как переместить много файлов в несколько разных каталогов (на Linux)
Я использую последние 3 цифры из ID как папки в обратном порядке.
Например, ID 2018972
должен отправиться в /2/7/9/img_2018972.jpg
.
Я создал каталоги, но теперь мне нужна помощь с скриптом bash. Я знаю идентификаторы, есть диапазон 1,300,000 - 2,000,000
. Но я не могу обрабатывать регулярные выражения.
Я wan't, чтобы переместить все файлы, как это:
/images/folder/img_2018972.jpg -> /images/2/7/9/img_2018972.jpg
Я буду признателен за любую помощь по этому вопросу. Благодаря!
вы можете эмулировать 'ls', используя что-то вроде; 'для f в *; do printf - "% s \ t" "$ f"; done' и 'ls -1' с' for f in *; do printf - "% s \ n" "$ f"; сделано'. 'ls' терпит неудачу из-за' ARG_MAX', ограничение максимальных аргументов. – c00kiemon5ter
Спасибо за повторы, я забыл упомянуть, что в папке у меня больше файлов jpg с одинаковой структурой имен файлов, но с «_220, _380» в конце .. например: img_1234567_220.jpg. – Alex
Ты имеешь в виду, что ты не хочешь соответствовать этим? или ответ хорошо? – c00kiemon5ter