Я пытаюсь написать сценарий BASH, который автоматически монтирует SD-карту, как только она вставлена в кард-ридер, затем перемещает все изображения в папку на жестком диске и переименовывает каждый файл в дату и время, когда был сделан снимок.

Есть идеи как этого добиться? Я использую Ubuntu 12.04 без графического интерфейса Спасибо :)

2 ответа2

2

Вот ваш ответ на мощный триггер монтирования в Ubuntu: https://help.ubuntu.com/community/UsbDriveDoSomethingHowto

Просто введите сценарий для перемещения фотографий. Подобно:

#!/bin/bash
#
# destination file like ../20121115-174656-originalname

source=/mnt/sdcard/
destination=/home/youraccount/foto/

cd $source

for i in `find . -maxdepth 1 -type f -printf "%f\n"`; do

iinfo=`stat -c%y $i | cut -c1-19`
idate=`date --date="$iinfo" +%Y%m%d-%H%M%S-`

echo mv $i $destination$idate$i

done
1

Просто чтобы дать вам полный ответ:

Автоматическое монтирование и копирование данных

Продвинутый путь (как вы должны это сделать)

Вы захотите использовать правила UDEV, которые относятся к UUID вашего устройства (извините за мой выше тип udid).

Ленивый путь (как ты мог это сделать)

Запустите CRON Job, чтобы выполнить ваш скрипт через заданный интервал. Очевидно, вам понадобится скрипт, чтобы убедиться, что SD подключен и / или подключен перед выполнением остальных).

Переименовать / Переместить

Чтобы получить данные EXIF

$ identify -verbose imageFile.jpg

Это выплевывает кучу вкусностей, поэтому давайте предположим, что вы хотите, чтобы дата создания с этого - давайте отфильтруем это:

$ identify -verbose imageFile.jpg | awk '/exif:/' (или grep exif)


Обновить:

ОП попросил другой метод в комментариях:

Вместо этого вы просите вкладывать папки, например, 20 ноября 2012 г. будет ~/2012/11/20/*. Jpg's

Вот скрипт, который я сделал, чтобы попробовать это, теперь он работает с EXIF (исходные элементы для вас были основаны на дате создания, которая будет плавать при перемещении или копировании файла). Он размещен на моем пустом сайте для вас, и я также опубликую снимок экрана (поскольку приложить много усилий для его форматирования здесь). imageByEXIF.sh

imageByEXIF.sh

Я бы порекомендовал вам проверить это в ограниченном масштабе, прежде чем внедрять. Я поместил в командной строке Args для тестирования, поэтому я делал ~/Pictures to ~/Documents (хотя он предпочитает полный путь)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .