commit
ebeb4e8247
@ -0,0 +1,3 @@ |
|||||||
|
#Scripts Bash de Gonzy |
||||||
|
|
||||||
|
Repertorio de scripts Bash que utilizo en el día a día principalmente en mis dispositivos portables. |
||||||
@ -0,0 +1,138 @@ |
|||||||
|
#!/bin/bash |
||||||
|
############################################################################ |
||||||
|
# |
||||||
|
# Utilización: fnc_gonzy.sh |
||||||
|
# Versión: 20251010 |
||||||
|
# Mis funciones y otras utilerias utilizadas |
||||||
|
# en mis scripts bash shell. |
||||||
|
# |
||||||
|
# Funciones: |
||||||
|
# center_text($1 texto) |
||||||
|
# # Centra $1 en el parrafo. |
||||||
|
# display_center($1) |
||||||
|
# # Centra varias lineas. Incluso |
||||||
|
# # puede ser todo un archivo. |
||||||
|
# fnc_gonzy_intro($1 $2 $3) |
||||||
|
# # Imprime Titulo $1, Descripcion $2 |
||||||
|
# y alguna nota $3 para identificar |
||||||
|
# la utilidad y uso de la funcion. |
||||||
|
# |
||||||
|
# Opciones: |
||||||
|
# - Colores y estilos de fuentes. |
||||||
|
# https://soloconlinux.org.es/colores-en-bash/ |
||||||
|
# |
||||||
|
# Limitaciones: |
||||||
|
# - |
||||||
|
# |
||||||
|
############################################################################ |
||||||
|
|
||||||
|
# Reset |
||||||
|
Color_Off='\033[0m' # Text Reset |
||||||
|
|
||||||
|
# Regular Colors |
||||||
|
Black='\033[30m' # Black |
||||||
|
Red='\033[31m' # Red |
||||||
|
Green='\033[32m' # Green |
||||||
|
Yellow='\033[33m' # Yellow |
||||||
|
Blue='\033[34m' # Blue |
||||||
|
Purple='\033[35m' # Purple |
||||||
|
Cyan='\033[36m' # Cyan |
||||||
|
White='\033[37m' # White |
||||||
|
|
||||||
|
# Bold |
||||||
|
BBlack='\033[1;30m' # Black |
||||||
|
BRed='\033[1;31m' # Red |
||||||
|
BGreen='\033[1;32m' # Green |
||||||
|
BYellow='\033[1;33m' # Yellow |
||||||
|
BBlue='\033[1;34m' # Blue |
||||||
|
BPurple='\033[1;35m' # Purple |
||||||
|
BCyan='\033[1;36m' # Cyan |
||||||
|
BWhite='\033[1;37m' # White |
||||||
|
|
||||||
|
# Cursive |
||||||
|
CBlack='\033[3;30m' # Black |
||||||
|
CRed='\033[3;31m' # Red |
||||||
|
CGreen='\033[3;32m' # Green |
||||||
|
CYellow='\033[3;33m' # Yellow |
||||||
|
CBlue='\033[3;34m' # Blue |
||||||
|
CPurple='\033[3;35m' # Purple |
||||||
|
CCyan='\033[3;36m' # Cyan |
||||||
|
CWhite='\033[3;37m' # White |
||||||
|
|
||||||
|
# Underline |
||||||
|
UBlack='\033[4;30m' # Black |
||||||
|
URed='\033[4;31m' # Red |
||||||
|
UGreen='\033[4;32m' # Green |
||||||
|
UYellow='\033[4;33m' # Yellow |
||||||
|
UBlue='\033[4;34m' # Blue |
||||||
|
UPurple='\033[4;35m' # Purple |
||||||
|
UCyan='\033[4;36m' # Cyan |
||||||
|
UWhite='\033[4;37m' # White |
||||||
|
|
||||||
|
# Background |
||||||
|
On_Black='\033[m' # Black |
||||||
|
On_Red='\033[m' # Red |
||||||
|
On_Green='\033[m' # Green |
||||||
|
On_Yellow='\033[m' # Yellow |
||||||
|
On_Blue='\033[m' # Blue |
||||||
|
On_Purple='\033[m' # Purple |
||||||
|
On_Cyan='\033[m' # Cyan |
||||||
|
On_White='\033[m' # White |
||||||
|
|
||||||
|
# High Intensity |
||||||
|
IBlack='\033[90m' # Black |
||||||
|
IRed='\033[91m' # Red |
||||||
|
IGreen='\033[92m' # Green |
||||||
|
IYellow='\033[93m' # Yellow |
||||||
|
IBlue='\033[94m' # Blue |
||||||
|
IPurple='\033[95m' # Purple |
||||||
|
ICyan='\033[96m' # Cyan |
||||||
|
IWhite='\033[97m' # White |
||||||
|
|
||||||
|
# Bold High Intensity |
||||||
|
BIBlack='\033[90m' # Black |
||||||
|
BIRed='\033[91m' # Red |
||||||
|
BIGreen='\033[92m' # Green |
||||||
|
BIYellow='\033[93m' # Yellow |
||||||
|
BIBlue='\033[94m' # Blue |
||||||
|
BIPurple='\033[95m' # Purple |
||||||
|
BICyan='\033[96m' # Cyan |
||||||
|
BIWhite='\033[97m' # White |
||||||
|
|
||||||
|
center_text() { |
||||||
|
local text="$1" |
||||||
|
local cols=$(tput cols) |
||||||
|
local text_len=${#text} |
||||||
|
local padding=$(( (cols - text_len) / 2 )) |
||||||
|
printf "%*s%s%*s\n" $padding "" "$text" $padding "" |
||||||
|
} |
||||||
|
|
||||||
|
display_center() { |
||||||
|
local columns=$(tput cols) |
||||||
|
while IFS= read -r line; do |
||||||
|
local line_len=${#line} |
||||||
|
local padding=$(( (columns - line_len) / 2 )) |
||||||
|
printf "%*s%s%*s\n" $padding "" "$line" $padding "" |
||||||
|
done < "$1" |
||||||
|
} |
||||||
|
|
||||||
|
function fnc_gonzy_intro(){ |
||||||
|
clear |
||||||
|
echo -e "${UWhite}" |
||||||
|
center_text $1 |
||||||
|
echo -e "${Color_Off}${CWhite}$2${Color_Off}${UWhite}" |
||||||
|
center_text $3 |
||||||
|
echo -e "\n${Color_Off}" |
||||||
|
} |
||||||
|
|
||||||
|
function fnc_msg_color(){ |
||||||
|
if [[ $1 == 0 ]]; then |
||||||
|
echo -e "[ \e[31mx\e[0m ] $2" |
||||||
|
elif [[ $1 == 1 ]]; then |
||||||
|
echo -e "[ \e[32m✓\e[0m ] $2" |
||||||
|
elif [[ $1 == 2 ]]; then |
||||||
|
echo -e "[ \e[33m…\e[0m ] $2" |
||||||
|
elif [[ $1 == 3 ]]; then |
||||||
|
echo -e "[ \e[33m!\e[0m ] $2" |
||||||
|
fi |
||||||
|
} |
||||||
@ -0,0 +1,70 @@ |
|||||||
|
#!/bin/bash |
||||||
|
# Ultima Modif: 20251010 |
||||||
|
# Utilidad que quita el prefijo IMG en las fotos |
||||||
|
# ubicadas en ~/storage/dcim/Camera |
||||||
|
############################################################################ |
||||||
|
# |
||||||
|
# Utilización: fotosRenombrar.sh |
||||||
|
# Versión: 20251017 |
||||||
|
# Utilidad que quita prefijo IMG en fotos |
||||||
|
# ubicadas en ~/storage/dcim/Camera. |
||||||
|
# |
||||||
|
# Funciones: |
||||||
|
# Varias pero sin relevancia para usr. |
||||||
|
# |
||||||
|
# Opciones: |
||||||
|
# - Solo se llama al archivo sin parametros. |
||||||
|
# |
||||||
|
# Limitaciones: |
||||||
|
# - Ruta fija. |
||||||
|
# |
||||||
|
############################################################################ |
||||||
|
|
||||||
|
source fnc_gonzy.sh |
||||||
|
|
||||||
|
fnc_gonzy_intro "Fotos_s/IMG" "Elimina prefijo IMG_ de imagenes.\nalmacebadas en ~/storage/dcim/Camera/" |
||||||
|
|
||||||
|
fnc_msg_color 2 "Buscando prefijo." |
||||||
|
sleep 1 |
||||||
|
cuenta=$(ls ~/storage/dcim/Camera/IMG_*.jpg -1 | wc -l) |
||||||
|
fnc_msg_color 1 "$cuenta archivos encontrados." |
||||||
|
echo -e "\n" |
||||||
|
read -p "Ver listado [s/n]?: " -n 1 -r |
||||||
|
if [[ ! $REPLY =~ ^[Ss]$ ]] then |
||||||
|
echo "" |
||||||
|
else |
||||||
|
# Ejecutar vista previa |
||||||
|
echo -e "\n" |
||||||
|
fnc_msg_color 2 "Generando listado." |
||||||
|
sleep 1 |
||||||
|
for FILE |
||||||
|
in ~/storage/dcim/Camera/IMG_*.jpg ; |
||||||
|
do NEWFILE=`echo $FILE | sed 's/IMG/_/g'` ; |
||||||
|
echo -e "${Gray}$FILE${Color_Off} » ${Green}$NEWFILE${Color_Off}" ; |
||||||
|
done |
||||||
|
fi |
||||||
|
# Ejecutar cambio de nombre(s) |
||||||
|
echo "" |
||||||
|
read -p "Realizar cambios [s/n]?: " -n 1 -r |
||||||
|
if [[ ! $REPLY =~ ^[Ss]$ ]] then |
||||||
|
echo "" |
||||||
|
else |
||||||
|
echo "" |
||||||
|
clear |
||||||
|
for FILE |
||||||
|
in ~/storage/dcim/Camera/IMG_*.jpg ; |
||||||
|
do NEWFILE=`echo $FILE | sed 's/IMG_//g'` ; |
||||||
|
mv "$FILE" $NEWFILE ; |
||||||
|
done |
||||||
|
clear |
||||||
|
fnc_msg_color 1 "Cambios realizados exitosamente." |
||||||
|
echo "" |
||||||
|
ls -C ~/storage/dcim/Camera/ |
||||||
|
echo "" |
||||||
|
fnc_msg_color 1 "Renombrado terminado!" |
||||||
|
fi |
||||||
|
|
||||||
|
fnc_msg_color 2 "Terminando programa!" |
||||||
|
echo -e "" |
||||||
|
sleep 1 |
||||||
|
#clear |
||||||
@ -0,0 +1,20 @@ |
|||||||
|
#!/bin/bash |
||||||
|
# Ultima Modif: 20251010 |
||||||
|
# Suma mimutos a la hora actual. |
||||||
|
|
||||||
|
source fnc_gonzy.sh |
||||||
|
fnc_gonzy_intro "Now()+min" "Sumar minutos a la hora actual." |
||||||
|
|
||||||
|
echo "" |
||||||
|
read -p "Cuantos minutos sumar?: " VarMinus |
||||||
|
clear |
||||||
|
VarAhora=`date +"%Y-%m-%d %H:%M:%S"` |
||||||
|
VarFuturo=`date -d "now + $VarMinus minutes" +"%Y-%m-%d %H:%M:%S"` |
||||||
|
|
||||||
|
fnc_msg_color 2 "$VarAhora" |
||||||
|
fnc_msg_color 2 " + $VarMinus min" |
||||||
|
fnc_msg_color 2 "$VarFuturo" |
||||||
|
sleep 1 |
||||||
|
echo -e "\n" |
||||||
|
fnc_msg_color 1 "Servido Gonzy!" |
||||||
|
echo -e "\n" |
||||||
@ -0,0 +1,167 @@ |
|||||||
|
#!/bin/bash |
||||||
|
############################################################################ |
||||||
|
# |
||||||
|
# Utilización: imgAtxt.sh |
||||||
|
# Versión: 20251017 |
||||||
|
# Utilidad que quita prefijo IMG en fotos |
||||||
|
# ubicadas en ~/storage/dcim/Camera. |
||||||
|
# |
||||||
|
# Funciones: |
||||||
|
# Varias pero sin relevancia para usr. |
||||||
|
# |
||||||
|
# Opciones: |
||||||
|
# - Solo se llama al archivo sin parametros. |
||||||
|
# |
||||||
|
# Limitaciones: |
||||||
|
# - Ruta fija. |
||||||
|
# |
||||||
|
############################################################################ |
||||||
|
|
||||||
|
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 |
||||||
@ -0,0 +1,85 @@ |
|||||||
|
#!/bin/bash |
||||||
|
# Ultima Modif: 20251012 |
||||||
|
# Convertir JPG o PNG a TXT. |
||||||
|
|
||||||
|
source fnc_gonzy.sh |
||||||
|
|
||||||
|
function fnc_principal(){ |
||||||
|
fnc_gonzy_intro "QR_Crear" "Crea código QR." |
||||||
|
PS3="Tipo de QR?: " |
||||||
|
items=( |
||||||
|
"Texto" |
||||||
|
"Texto.TXT" |
||||||
|
"URL" |
||||||
|
"Email" |
||||||
|
"SMS" |
||||||
|
"vCard" |
||||||
|
"Calendar" |
||||||
|
"WiFi" |
||||||
|
) |
||||||
|
while true; do |
||||||
|
select item in "${items[@]}" Regresar |
||||||
|
do |
||||||
|
case $REPLY in |
||||||
|
1) |
||||||
|
clear; |
||||||
|
read -p "Texto: " VarQR; |
||||||
|
fnc_qr_gral "txt" $VarQR; |
||||||
|
break;; |
||||||
|
2) |
||||||
|
clear; |
||||||
|
source qr.sh; |
||||||
|
break;; |
||||||
|
3) |
||||||
|
source qr.sh; |
||||||
|
break;; |
||||||
|
4) |
||||||
|
source qr.sh; |
||||||
|
break;; |
||||||
|
5) |
||||||
|
source qr.sh |
||||||
|
break;; |
||||||
|
6) |
||||||
|
clear; |
||||||
|
source qr.sh; |
||||||
|
break;; |
||||||
|
7) |
||||||
|
source qr.sh; |
||||||
|
break;; |
||||||
|
8) |
||||||
|
source qr.sh; |
||||||
|
break;; |
||||||
|
$((${#items[@]}+1))) |
||||||
|
#clear; |
||||||
|
#cowsay "..." | lolcat; |
||||||
|
#echo -e "\n"; |
||||||
|
source main_gnzTools.sh; |
||||||
|
break 2;; |
||||||
|
*) |
||||||
|
clear; |
||||||
|
echo -e "${Red}"; |
||||||
|
center_text "La opcion $REPLY no es valida."; |
||||||
|
echo -e "${Color_Off}\n"; |
||||||
|
break; |
||||||
|
esac |
||||||
|
done |
||||||
|
done |
||||||
|
} |
||||||
|
|
||||||
|
function fnc_qr_gral(){ |
||||||
|
dt=`date +%Y%m%d_%H%M%S` |
||||||
|
fnc_msg_color 2 "Generando QR." |
||||||
|
var_qr=$(qrencode -o ~/storage/shared/Documents/qr2txt/qr-$1_$dt.png -t png -s 15 $2) |
||||||
|
sleep 1 |
||||||
|
fnc_msg_color 1 "Código QR generado." |
||||||
|
fnc_msg_color 3 "qr-$1_$dt.png" |
||||||
|
echo -e "\n" |
||||||
|
ls ~/storage/shared/Documents/qr2txt/ |
||||||
|
echo -e "\n" |
||||||
|
#fnc_msg_color 2 "Abriendo QR." |
||||||
|
sleep 1 |
||||||
|
#xdg-open ~/storage/shared/Documents/qr2txt/qr-$1_$dt.png |
||||||
|
echo -e "\n" |
||||||
|
} |
||||||
|
|
||||||
|
fnc_principal |
||||||
@ -0,0 +1,37 @@ |
|||||||
|
#!/bin/bash |
||||||
|
# Ultima Modif: 20251012 |
||||||
|
# Decodificar QR como TXT sin abrir enlaces. |
||||||
|
|
||||||
|
source fnc_gonzy.sh |
||||||
|
|
||||||
|
function fnc_principal(){ |
||||||
|
fnc_gonzy_intro "QR_Deco" "Decodifica contenido de QR." |
||||||
|
|
||||||
|
VarPathQR="~/storage/shared/Documents/qr2txt/" |
||||||
|
|
||||||
|
fnc_msg_color 2 "Generando listado." |
||||||
|
sleep 1 |
||||||
|
echo -e "\n" |
||||||
|
|
||||||
|
ls ~/storage/shared/Documents/qr2txt |
||||||
|
echo -e "\n" |
||||||
|
|
||||||
|
fnc_msg_color 1 "Listado terminado." |
||||||
|
echo -e "\n" |
||||||
|
read -p "Nombre de QR?: " VarQR |
||||||
|
echo -e "\n" |
||||||
|
|
||||||
|
fnc_msg_color 2 "Leyendo código QR." |
||||||
|
sleep 1 |
||||||
|
vtxtdecod=$(zbarimg --quiet --raw ~/storage/shared/Documents/qr2txt/$VarQR) |
||||||
|
fnc_msg_color 1 "QR decodificado." |
||||||
|
echo -e "\n" |
||||||
|
cowsay $vtxtdecod |
||||||
|
echo -e "\n" |
||||||
|
termux-clipboard-set $vtxtdecod |
||||||
|
fnc_msg_color 1 "Valor en portapapeles." |
||||||
|
echo -e "\n" |
||||||
|
sleep 1 |
||||||
|
} |
||||||
|
|
||||||
|
fnc_principal |
||||||
@ -0,0 +1,90 @@ |
|||||||
|
#!/bin/bash |
||||||
|
############################################################################# |
||||||
|
# |
||||||
|
# Utilización: respaldarTermux.sh |
||||||
|
# Versión: 20251016 |
||||||
|
# Crear respaldo en archivo comprimido |
||||||
|
# de listado con nombre de fecha y hora |
||||||
|
# en que se creó. |
||||||
|
# |
||||||
|
# Funciones: |
||||||
|
# - fncComprimir |
||||||
|
# |
||||||
|
# Opciones: |
||||||
|
# - $ nombre del archivo de respaldo. |
||||||
|
# |
||||||
|
# Limitaciones: |
||||||
|
# - Ruta fija. |
||||||
|
# |
||||||
|
############################################################################ |
||||||
|
|
||||||
|
source fnc_gonzy.sh |
||||||
|
|
||||||
|
function fncComprimir() { |
||||||
|
VarNomRes=Termux-Armor28T-gonzy_$1.tar.gz |
||||||
|
echo -e "Nombre respaldo: \n${Yellow}$VarNomRes${Color_Off}" |
||||||
|
echo -e "\nElementos a respaldar:" |
||||||
|
VarR1=~/gonzy_sh |
||||||
|
VarR2=~/../usr/etc/bash.bashrc |
||||||
|
VarR3=~/.termux/termux.properties |
||||||
|
VarR4=~/.motd/99* |
||||||
|
echo -e "${Yellow}$VarR1${Color_Off}" |
||||||
|
echo -e "${Yellow}$VarR2${Color_Off}" |
||||||
|
echo -e "${Yellow}$VarR3${Color_Off}" |
||||||
|
echo -e "${Yellow}$VarR4${Color_Off}" |
||||||
|
echo -e "\n" |
||||||
|
fnc_msg_color 2 "Compilando datos." |
||||||
|
sleep 2 |
||||||
|
fnc_msg_color 1 "Datos listos." |
||||||
|
echo -e "" |
||||||
|
read -p "Realizar respaldo (S/N)?: " -n 1 -r |
||||||
|
if [[ ! $REPLY =~ ^[Ss]$ ]] |
||||||
|
then |
||||||
|
echo -e "\n" |
||||||
|
fnc_msg_color 2 "Saliendo." |
||||||
|
sleep 1 |
||||||
|
clear |
||||||
|
else |
||||||
|
echo -e "\n" |
||||||
|
fnc_msg_color 2 "Comenzando respaldo." |
||||||
|
sleep 2 |
||||||
|
tar -czf ~/gonzy-sd/Documents/Backups/scripts_bash/respaldosAutomatizados/$VarNomRes $VarR1 $VarR2 $VarR3 $VarR4 |
||||||
|
fnc_msg_color 1 "Datos comprimidos." |
||||||
|
fnc_msg_color 1 "Respaldo terminado." |
||||||
|
|
||||||
|
tam_bytes=$(stat -c %s ~/gonzy-sd/Documents/Backups/scripts_bash/respaldosAutomatizados/$VarNomRes) |
||||||
|
tam_kb=$(bc <<< "scale=3; $tam_bytes / 1024") |
||||||
|
tam_mb=$(bc <<< "scale=3; $tam_kb / 1024") |
||||||
|
|
||||||
|
echo -e "\nTamaño de respaldo" |
||||||
|
fnc_msg_color 3 "$tam_bytes bytes" |
||||||
|
fnc_msg_color 3 "$tam_kb Kb" |
||||||
|
fnc_msg_color 3 "$tam_mb Mb" |
||||||
|
|
||||||
|
sleep 1 |
||||||
|
|
||||||
|
echo -e "" |
||||||
|
read -p "Enviar respaldo por e-mail (S/N)?: " -n 1 -r |
||||||
|
if [[ ! $REPLY =~ ^[Ss]$ ]] |
||||||
|
then |
||||||
|
echo -e "\n" |
||||||
|
fnc_msg_color 2 "Saliendo." |
||||||
|
sleep 1 |
||||||
|
clear |
||||||
|
else |
||||||
|
echo -e "\nEnviando respaldo por e-mail." |
||||||
|
fnc_msg_color 2 "Preparando envío." |
||||||
|
echo "Envío automatizado de respaldo." | mutt -a ~/gonzy-sd/Documents/Backups/scripts_bash/respaldosAutomatizados/$VarNomRes -s "Respaldo." -- gonzy.top@gmail.com |
||||||
|
sleep 1 |
||||||
|
fnc_msg_color 1 "Mensaje enviado." |
||||||
|
fi |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
fnc_gonzy_intro "Respaldar_Termux." "Crear respaldo Termux." |
||||||
|
dt=`date +%Y%m%d_%H%M%S` |
||||||
|
|
||||||
|
# Listado de directorios y archivos |
||||||
|
# a respaldar. |
||||||
|
fncComprimir $dt |
||||||
|
echo -e "\n" |
||||||
@ -0,0 +1,39 @@ |
|||||||
|
#!/bin/bash |
||||||
|
# Ultima Modif: 20251010 |
||||||
|
# Descifra una URL acortada, lo hace dos veces. |
||||||
|
# Uso: url_descifra.sh {url-corta} |
||||||
|
|
||||||
|
source fnc_gonzy.sh |
||||||
|
|
||||||
|
function fncDescifrar(){ |
||||||
|
UrlAcortada="$1" |
||||||
|
if [ "$UrlAcortada" == "" ]; then |
||||||
|
echo -e "${Red}" |
||||||
|
center_text $UrlAcortada |
||||||
|
echo -e "${Color_Off}" |
||||||
|
else |
||||||
|
Url=$(curl -s --head "$UrlAcortada" 2>/dev/null | grep -i 'location' | awk '{print $2}') |
||||||
|
UrlFinal=$(curl -s --head "$Url" 2>/dev/null | grep -i 'location' | awk '{print $2}') |
||||||
|
if [ "$UrlFinal" == "" ]; then |
||||||
|
pagi="$Url" |
||||||
|
else |
||||||
|
pagi="$UrlFinal" |
||||||
|
fi |
||||||
|
fi |
||||||
|
|
||||||
|
echo -e "\n" |
||||||
|
termux-clipboard-set $pagi |
||||||
|
fnc_msg_color 2 "Descifrando URL." |
||||||
|
sleep 1 |
||||||
|
echo -e "\n" |
||||||
|
fnc_msg_color 1 "URL descifrada." |
||||||
|
fnc_msg_color 2 $pagi |
||||||
|
fnc_msg_color 1 "URL en portapapeles!" |
||||||
|
echo "" |
||||||
|
} |
||||||
|
|
||||||
|
fnc_gonzy_intro "URL_Descifrar" "Descifra URL acortada.\np.e. https://tinyurl.com/msxc5ydt" |
||||||
|
#termux-clipboard-set "https://tinyurl.com/msxc5ydt"; |
||||||
|
|
||||||
|
read -p "URL corta: " url_corta; |
||||||
|
fncDescifrar $url_corta |
||||||
@ -0,0 +1,34 @@ |
|||||||
|
#!/bin/bash |
||||||
|
# Ultima Modif: 20251012 |
||||||
|
# Valida si URL está acriva. |
||||||
|
# Uso: url_valida.sh {url-a-validar} |
||||||
|
|
||||||
|
source fnc_gonzy.sh |
||||||
|
|
||||||
|
# NO funciona |
||||||
|
function valida_a(){ |
||||||
|
resultado=$(curl -sIL $1 | grep '^HTTP' | tail -1 | awk '{print $2}') |
||||||
|
|
||||||
|
if [[ "$resultado" == "200" ]]; then |
||||||
|
echo -e "${Green}Existe${Color_Off}" |
||||||
|
elif [[ "$resultado" == "404" ]]; then |
||||||
|
echo -e "${Red}No Existe${Color_Off}" |
||||||
|
else |
||||||
|
echo -e "${Yellow}No lo se.${Color_Off}" |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
# SI funciona |
||||||
|
function valida_b(){ |
||||||
|
echo -e "" |
||||||
|
if wget --spider -S "$1" 2>&1 | grep -w "200\|301"; then |
||||||
|
fnc_msg_color 1 "URL activo" |
||||||
|
else |
||||||
|
fnc_msg_color 0 "URL caído" |
||||||
|
fi |
||||||
|
echo "" |
||||||
|
} |
||||||
|
|
||||||
|
fnc_gonzy_intro "URL_Verificar" "Verifica que URL exista." |
||||||
|
read -p "URL a validar: " url_validar; |
||||||
|
valida_b $url_validar |
||||||
@ -0,0 +1,25 @@ |
|||||||
|
#!/bin/bash |
||||||
|
# Ultima Modif: 20251010 |
||||||
|
# Busca un texto en browsers |
||||||
|
|
||||||
|
source fnc_gonzy.sh |
||||||
|
|
||||||
|
#google() { |
||||||
|
# local query="$*" |
||||||
|
# if [ -z "$query" ]; then |
||||||
|
# google-chrome "https://www.google.com" |
||||||
|
# else |
||||||
|
# query=$(echo "$query" | jq -sRr @uri) |
||||||
|
# google-chrome "https://www.google.com/search?q=$query" |
||||||
|
# fi |
||||||
|
#} |
||||||
|
|
||||||
|
function slynx(){ |
||||||
|
if [[ $(echo $*) ]]; then |
||||||
|
searchterm="$*" |
||||||
|
else |
||||||
|
read -p "Enter your search term: " searchterm |
||||||
|
fi |
||||||
|
searchterm=$(echo $searchterm | sed -e 's/\ /+/g') |
||||||
|
lynx -accept_all_cookies=on http://www.google.com/search?q=$searchterm |
||||||
|
} |
||||||
@ -0,0 +1,48 @@ |
|||||||
|
#!/bin/bash |
||||||
|
# Ultima Modif: 20251010 |
||||||
|
# Herramientas que uso en Danone. |
||||||
|
|
||||||
|
source fnc_gonzy.sh |
||||||
|
clear |
||||||
|
|
||||||
|
fnc_menu(){ |
||||||
|
PS3="Con que te ayudo?: " |
||||||
|
items=("↑ 500 gr" "↑ 650 gr" "↑ 750 gr" |
||||||
|
"↓ 500 gr" "↓ 650 gr" "↓ 750 gr" |
||||||
|
"Fotos") |
||||||
|
while true; do |
||||||
|
select item in "${items[@]}" Salir |
||||||
|
do |
||||||
|
case $REPLY in |
||||||
|
1) |
||||||
|
clear; |
||||||
|
echo -e "${Red}Opcion NO disponible aun.${Color_Off}\n${Yellow}Trabajando en opcion $REPLY) $item\n${Color_Off}"; |
||||||
|
break;; |
||||||
|
2) echo "Selected item #$REPLY which means $item"; break;; |
||||||
|
3) echo "Selected item #$REPLY which means $item"; break;; |
||||||
|
7) |
||||||
|
clear; |
||||||
|
cowsay -f eyes "Fotos aun no disponibles." | lolcat; |
||||||
|
break;; |
||||||
|
$((${#items[@]}+1))) |
||||||
|
clear; |
||||||
|
cowsay "Gracias por usar la herramienta." | lolcat; |
||||||
|
echo -e "\n"; |
||||||
|
break 2;; |
||||||
|
*) |
||||||
|
clear; |
||||||
|
echo -e "${Red}"; |
||||||
|
center_text "La opcion $REPLY no es valida."; |
||||||
|
echo -e "${Color_Off}\n"; |
||||||
|
break; |
||||||
|
esac |
||||||
|
done |
||||||
|
done |
||||||
|
} |
||||||
|
|
||||||
|
figlet -w 50 -c "DAN-ONE" | lolcat |
||||||
|
echo -e "${Blue}" |
||||||
|
center_text "una app de gonzy.top" |
||||||
|
echo -e "${Color_Off}\n" |
||||||
|
|
||||||
|
fnc_menu |
||||||
@ -0,0 +1,78 @@ |
|||||||
|
#!/bin/bash |
||||||
|
# Ultima Modif: 20251010 |
||||||
|
# Menu de mis herramientas. |
||||||
|
|
||||||
|
source fnc_gonzy.sh |
||||||
|
clear |
||||||
|
|
||||||
|
fnc_menu(){ |
||||||
|
PS3="Script a usar?: " |
||||||
|
items=( |
||||||
|
"Backup Termux" |
||||||
|
"IMG a TXT" |
||||||
|
"Fotos s/IMG_" |
||||||
|
"Now() + min" |
||||||
|
"URL descifrar" |
||||||
|
"URL validar" |
||||||
|
"QR crear" |
||||||
|
"QR decod" |
||||||
|
"WWW buscar" |
||||||
|
) |
||||||
|
while true; do |
||||||
|
select item in "${items[@]}" Salir |
||||||
|
do |
||||||
|
case $REPLY in |
||||||
|
1) |
||||||
|
clear; |
||||||
|
source gnz_respaldarTermux.sh |
||||||
|
break;; |
||||||
|
2) |
||||||
|
clear; |
||||||
|
source gnz_imgAtxt.sh; |
||||||
|
break;; |
||||||
|
3) |
||||||
|
source gnz_fotosRenombrar.sh; |
||||||
|
break;; |
||||||
|
4) |
||||||
|
source gnz_horaSumar.sh; |
||||||
|
break;; |
||||||
|
5) |
||||||
|
source gnz_urlDescifrar.sh |
||||||
|
break;; |
||||||
|
6) |
||||||
|
clear; |
||||||
|
source gnz_urlValidar.sh; |
||||||
|
break;; |
||||||
|
7) |
||||||
|
source gnz_qrCrear.sh; |
||||||
|
break;; |
||||||
|
8) |
||||||
|
source gnz_qrDeco.sh; |
||||||
|
break;; |
||||||
|
9) |
||||||
|
source gnz_wwwBuscar.sh; |
||||||
|
break;; |
||||||
|
$((${#items[@]}+1))) |
||||||
|
clear; |
||||||
|
cowsay "Gracias por usar la herramienta." | lolcat; |
||||||
|
echo -e "\n"; |
||||||
|
exit; |
||||||
|
break 2;; |
||||||
|
*) |
||||||
|
clear; |
||||||
|
echo -e "${Red}"; |
||||||
|
center_text "La opcion $REPLY no es valida."; |
||||||
|
echo -e "${Color_Off}\n"; |
||||||
|
break; |
||||||
|
esac |
||||||
|
done |
||||||
|
done |
||||||
|
} |
||||||
|
|
||||||
|
figlet -w 50 -c "Tools" | lolcat |
||||||
|
echo -e "${Blue}" |
||||||
|
center_text "una app de gonzy.top" |
||||||
|
center_text "v-2.0" |
||||||
|
echo -e "${Color_Off}\n" |
||||||
|
|
||||||
|
fnc_menu |
||||||
Loading…
Reference in new issue