[BASH] Script para obtener datos de una persona

Iniciado por Barbol, Abril 11, 2024, 11:38:07 AM

Tema anterior - Siguiente tema

0 Miembros y 6 Visitantes están viendo este tema.

Abril 11, 2024, 11:38:07 AM Ultima modificación: Abril 11, 2024, 02:22:53 PM por AXCESS
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Buenas. Esta es mi primer publicación en el foro. Les dejo este script que te trae los datos de una persona a partir de su DNI. Ideal para las altas de usuario cuando no te pasan todos los datos.



Código: text
#!/bin/bash

#[by fleiva]
#DIRBASE=/home/barbol/fullname
DIRBASE=~/fullname
NC='\033[0m'            # No Color
BBlue='\033[1;34m'      # Blue
UPurple='\033[4;35m'    # Purple

function limpiarArchivo () { #Recibe el nombre de archivo que tiene que procesar
        echo "" > $DIRBASE"/nombreLimpio.txt"
        while IFS= read -r line
        do
                line="${line#"${line%%[![:space:]]*}"}"   # elimina los espacios por delante
                line="${line%"${line##*[![:space:]]}"}"   # elimina los espacios por detrás
                echo $line >>$DIRBASE"/nombreLimpio.txt"
        done < $1
        sed -i '/^ *$/d' $DIRBASE"/nombreLimpio.txt" #elimina filas en blanco
}

function borrarArchivos () {
        rm -rf $DIRBASE/curl.txt
        rm -rf $DIRBASE/filaSucia.txt
        rm -rf $DIRBASE/parteFilaSucia.txt
        rm -rf $DIRBASE/partecitaFilaSucia.txt
        rm -rf $DIRBASE/nombreEspacio.txt
        rm -rf $DIRBASE/nombreLimpio.txt
}

function ConsultarNosis () {
    texto="$1"
    endpoint="https://informes.nosis.com/Home/Buscar"
    body="Texto=$texto"

    # Realizar la solicitud HTTP POST
    jsonResponse=$(curl -s -X POST -d "$body" "$endpoint")

    # Verificar la respuesta JSON
    entidadesEncontradas=$(echo "$jsonResponse" | jq '.EntidadesEncontradas')

    count=$(echo "$entidadesEncontradas" | jq 'length')

# Verificar si se encontraron entidades
    if [[ $count -gt 0 ]]; then
        for ((i = 0; i < $count; i++)); do
            documento=$(echo "$entidadesEncontradas" | jq -r ".[$i].Documento")
            razonSocial=$(echo "$entidadesEncontradas" | jq -r ".[$i].RazonSocial")
            provincia=$(echo "$entidadesEncontradas" | jq -r ".[$i].Provincia")
            echo "============ NOSIS ============" | lolcat
            echo -e "${BBlue}CUIL:$NC $documento"
            echo -e "${BBlue}NOMBRE:$NC $razonSocial"
            echo -e "${BBlue}PROVINCIA:$NC $provincia"
            echo "===============================" | lolcat
        done
    else
        echo "===========================================" | lolcat
        echo "🔴 No se encontraron datos en nosis.com 🔴"
        echo "===========================================" | lolcat
    fi
}

#INICIO PROGRAMA
cd $DIRBASE

ConsultarNosis $1

curl -s https://www.cuitonline.com/search.php\?q\=$1 | grep -a breadcrumbsContainer | cut -d'<' -f 10 | cut -d'>' -f 2 > $DIRBASE"/nombreLimpio.txt"
cantPalabras=`wc -w $DIRBASE"/nombreLimpio.txt" | awk '{print $1}'`;
        if test $cantPalabras -eq 0;
        then
                echo "================================================" | lolcat
                echo "🔴 No se encontraron datos en cuitonline.com 🔴"
                echo "================================================" | lolcat
        else
                echo ""
                echo "============ CUITONLINE ============" | lolcat
                resultado=`cat $DIRBASE"/nombreLimpio.txt"`
                echo "🟢 $resultado 🟢"
                echo "====================================" | lolcat
        fi


borrarArchivos



Fer Leiva - SysAdmin 🚀

Es obvio que es para Argentina.

Pregunta...

El script busca en internet o posee una Base de Datos interna. Intuyo que en internet?

Es posible agregarle, modificarle cierta Base de Datos, así como el patrón de búsqueda, como pudiera ser el # de móvil, en vez del DNI, y que tenga la misma funcionalidad?. Esta sería una modificación un tanto pretenciosa, sepa disculparme por el alto vuelo. Sería como un explorer o buscador de BD.

Está muy bueno su trabajo.

Una pena no ser argentino...
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Realiza una petición HTTP/POST hacia "You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login".
PGP :: <D82F366940155CB043147178C4E075FC4403BDDC>

~ DtxdF

Sí lo ví en el script, pero siempre es bueno preguntar.

Está muy útil.
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login