Всем добрый день! Есть работающий скрипт, который берет файлы *.pdf(все pdf-файлы состоят из двух страниц) с папки inputdir_picture, конвертирует их в *.jpg и с помощью tesseract распознает для того чтобы переименовать и положить эти файлы в папку outputdir_picture.
#!/bin/bash
# папка для необработаных файлов
inputdir="./input_picture"
# папка для обработаных файлов
outputdir="./output_picture"
[ -d "$inputdir" ] || exit 1
[ -d "$outputdir" ] || exit 2
#tmpfile=$(mktemp || exit 3)
tmpfile=$(mktemp) || exit 3
status=0
#переменая con
echo "Начался процесс конвертирования..."
for con in "$inputdir"/*.pdf; do
#сам процесс конвертирования
convert -density 150 "$con" "$con".jpg
rm -f "$con"
done
echo "Начался процесс переименования... "
#процесс переименнования
for f in "$inputdir"/*-0.jpg; do
tesseract -l ukr "$f" - > $tmpfile
rm -f "$inputdir"/*-1.jpg
# fio=$(sed -rn 's/^[Яя][,.] (.*)/\L\1/; T lab; s/((^| ).)/\U\1/gp; q; :lab' "$tmpfile")
fio=$(sed -rn 's/^[Яя][,.] (.*)/\L\1/; T lab; s/((^|[- ]).)/\U\1/g; s/ Фото$//; p; q; :lab' "$tmpfile")
if [ -z "$fio" ]; then
orig=$(basename "$f")
txt=${orig%.jpg}.txt
echo ФИО не найдены в файле \"$f\", текст записан в \"$outputdir/$txt\"
cp "$tmpfile" "$outputdir/$txt"
# mv "$f" "$outputdir"
status=4
else
mv "$f" "$outputdir/$fio.jpg"
fi
done
#добавил хз зачем
rm "$tmpfile"
exit $status
Задача: Необходимо добавить возможность чтобы он создавал вместо структуру папок год->месяц->день и переносил переименованные файлы вместо outputdir_picture в папку «день», соответственно.
Всем огромное спасибо за помощь. Все предложение по улучшению работы скрипта принимаются!