Сортировка файлов скриптом sh

Linux bash shell Скрипты

Нужно написать скрипт который бы сортировал кучу файлов из папки /cam/, имена которых имеют вид img20110220114815_MD.jpg или например img20110222185004_MD.jpg (то есть img-год-месяц-число-часы-минуты-секунды-MD.jpg) создавая папки с датами внутри, то есть /cam/22.02.11 и в нее складывал все файлы вида img20110222******_MD.jpg для файлов вида img20110220 соответственно создавалась бы папка /cam/20.02.2011 и в нее перемещались файлы по маске из корневой дирректории cam.
Можно так же скрипт в виде bat файла например, но предпочтительнее sh скриптом.

Примечание:
/mnt/Incoming/img# for f in $(ls --color=never -1 img*.jpg) ; do
> d=$(echo $f | perl -pe 's/img(....)(..)(..).+/\1.\2.\3/') ;
> [ -d "$d" ] || mkdir "$d" && cp "$f" "$d" ;
> done
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found
-sh: perl: not found

Примечание:
Не вариант устанавливать перл. На sh нельзя реализовать? Или хотя бы под винду batник
Ответы:
for f in $(ls --color=never -1 img*.jpg) ; do
  d=$(echo $f | perl -pe 's/img(....)(..)(..).+/\1.\2.\3/') ;
  [ -d "$d" ] || mkdir "$d" && cp "$f" "$d" ;  
done
Ну ты perl установи (:


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.