Scripts bash que utilizo en Android con herramientas de utilidad para mí día a día.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Termux-shell/gnz_imgAtxt.sh

149 lines
3.4 KiB

#!/bin/bash
source fnc_gonzy.sh
getHelp () {
-e "\n\nRepositorio en https://github.com/MilanDroid/CIT"
exit 1
}
getParams () {
echo "Imagenes disponibles:"
echo -e "${Yellow}"
ls -p ~/storage/shared/Documents/img2txt/ | grep -v /
echo -e "${Color_Off}"
route=~/storage/shared/Documents/img2txt
directory=$route/txt
read -p "Extension (jpg | jpeg | png)?: " -r
if [ $REPLY == null ]
then
fnc_msg_color 0 "Extension invalida."
fnc_msg_color 2 "Saliendo."
sleep 2
exit 1
else
fnc_msg_color 1 "Formato $REPLY válido."
ext=(${REPLY//;/ })
fi
}
checkRoute () {
if [ ! -d "$route" ]
then
fnc_msg_color 0 "Directorio $route no existe."
exit 1
else
#Llenando el array con los elementos encontrados en la ruta otorgada
IFS=!
files=(`find ~/storage/shared/Documents/img2txt/ -printf %f!`)
fi
}
createDirectory () {
fnc_msg_color 2 "Validando directorio TMP.\n"
if [ ! -d "$directory" ]
then
mkdir $directory || exit 1
fnc_msg_color 1 "Directio TMP creado."
else
read -p "Directorio TMP ya existe, eliminar (S/N)?: " -n 1 -r
echo # (optional) move to a new line
if [[ ! $REPLY =~ ^[Ss]$ ]]
then
fnc_msg_color 2 "Saliendo."
sleep 2
exit 1
else
fnc_msg_color 2 "Eliminando directorio."
sleep 1
rm -rf "$directory/" || exit 1
fnc_msg_color 1 "Directorio TMP eliminado."
fnc_msg_color 2 "Creando directorio."
sleep 1
mkdir $directory || exit 1
fnc_msg_color 1 "Directio TMP creado.\n"
sleep 1
fi
fi
if [ ! -d "$directory/tifs" ]
then
mkdir "$directory/tifs" || exit 1
else
read -p "Directorio /tifs/ existente, eliminar (S/N)?: " -n 1 -r
echo # (optional) move to a new line
if [[ ! $REPLY =~ ^[Ss]$ ]]
then
fnc_msg_color 2 "Saliendo."
sleep 2
exit 1
else
fnc_msg_color 2 "Eliminando directorio."
sleep 1
rm -rf "$directory/tifs/" || exit 1
fnc_msg_color 1 "Directorio /tifs/ eliminado."
fnc_msg_color 2 "Creando directorio."
sleep 1
mkdir "$directory/tifs" || exit 1
fi
fi
}
convertFile () {
alertError=0
fnc_msg_color 2 "Conversion de $1"
magick "$route/$1" "$directory/tifs/${1%.*}.tif" || alertError=1
tesseract "$directory/tifs/${1%.*}.tif" "$directory/${1%.*}" || alertError=2
if [[ $alertError == 0 ]]; then
fnc_msg_color 2 "Archivo saliente =>"
echo -e "${Yellow}$directory/${1%.*}.txt${Color_Off}\n"
let count++
elif [[ $alerError == 1 ]]; then
fnc_msg_color 0 "Error al generar archivo .tif."
let countError++
elif [[ $alerError == 2 ]]; then
fnc_msg_color 0 "Error al generar archivo .txt."
let countError++
fi
}
getFiles () {
count=0
countError=0
for i in ${!files[@]}
do
if [[ "${ext[@]}" =~ "${files[$i]##*.}" ]]
then
convertFile "${files[$i]}"
fi
done
fnc_msg_color 2 "Eliminando archivos tmp en /tifs/"
rm -rf "$directory/tifs/" || exit 1
echo -e "Eliminados: \e[32m✓\e[0m: $count \e[31mx\e[0m: $countError"
fnc_msg_color 1 "Resultado en"
echo -e "${CYellow}$directory${Color_Off}\n"
echo ""
unset ALL_PROXY
}
while getopts ':h' option; do
case "$option" in
h) getHelp
;;
\?) printf "[ \e[31mx\e[0m ] Error: Option: '-%s$OPTARG' does not exist.">&2
echo -e "\n\nTo get help use: '-h'"
exit 1
;;
esac
done
fnc_gonzy_intro "IMG_a_TXT" "Extrae texto de imagenes.\nEl texto es guardado en un archivo."
getParams
checkRoute
createDirectory
getFiles