Contenido

Generando bibliotecas de fechas personalizadas.

Crear diccionarios de fechas puede ser útil en tareas de pruebas, análisis de datos y seguridad. Con este script de Bash, puedes generar fácilmente una biblioteca de fechas en formato ddmmyyyy, personalizando el rango de años según tus necesidades.

Explicación básica del funcionamiento:

El script utiliza tres variables para definir el rango de años, meses y días. Al ejecutar el comando con los años inicial y final especificados, el script generará un archivo llamado «datelist.txt» que contendrá todas las combinaciones posibles de fechas en formato ddmmyyyy dentro del rango especificado. El script verifica si el archivo «datelist.txt» existe y, de ser así, lo elimina para generar un nuevo diccionario. Luego, utiliza bucles anidados para iterar sobre los años, meses y días, formatea los valores de día, mes y año con ceros a la izquierda (si es necesario) y los agrega al archivo «datelist.txt». Al finalizar, se muestra un mensaje indicando el número de líneas generadas en el diccionario. Puedes descargarte el repositorio desde –> https://github.com/TerritorioHacker/DateGenerator
				
					git clone https://github.com/TerritorioHacker/DateGenerator
				
			

Sintaxis:

				
					./dateGenerator.sh AñoInicial AñoFinal

				
			
				
					#!/bin/bash

# Creación de diccionarios de fechas de 8 dígitos en formato dd/mm/yyyy --> ddmmyyyy

# SINTAXIS: ./dictDates.sh AñoInicial AñoFinal
# Ejemplo:  ./dictDates.sh 1995 2005


# Colores
verde="\e[0;32m\033[1m"
finColor="\033[0m\e[0m"
rojo="\e[0;31m\033[1m"
azul="\e[0;34m\033[1m"

# Variables de Tiempo
# Años
yearI=$1
yearF=$2

# Meses
monthI=1
monthF=12

# Días
dayI=1
dayF=31

function ctrl_c(){
    echo -e "\n\n [!] Saliendo... \n"
    exit 1
}

# Ctrl_c
trap ctrl_c SIGINT
echo -e "\n${verde}[+] Creando biblioteca de fechas: ${azul}ddmmyyyy${finColor}${verde}"
echo -e "\n${verde}[+] Generando biblioteca de<sde ${azul}01/01/$yearI${verde} hasta ${azul}01/01/$yearF ${finColor}${verde}"


# En caso de existir el arhcivo datelist lo eliminamos para volver a crearlo.
if [ -f "datelist.txt" ]; then
    rm ./datelist.txt
fi

if [[ $yearI =~ ^[1-9][0-9]{3}$ ]] && [[ $yearF =~ ^[1-9][0-9]{3}$ ]]; then
#if [ -n "$yearI" ] && [ -n "$yearF" ]; then
    for (( year=$yearI; year<=$yearF; year++ )); do
        for (( month=$monthI; month<=$monthF; month++ )); do
            for (( day=$dayI; day<=$dayF; day++ )); do
            # Formatear los valores de día, mes y año con ceros a la izquierda si es necesario
            formatted_day=$(printf "%02d" $day)
            formatted_month=$(printf "%02d" $month)
            formatted_year=$(printf "%04d" $year)
            echo "$formatted_day$formatted_month$formatted_year" >> datelist.txt
            done
        done
    done
    wordcount=$(wc -l datelist.txt | awk '{print $1}')
    echo -e "\n${verde}[+] Creado diccionario ${azul}datelist.txt${verde} con ${azul}$wordcount${verde} líneas. \n"
else
    echo -e "\n${rojo}[!] Error...${finColor}\n"
    echo -e "\n${verde}[!] Se requieren los valores:${azul} $0 [StartYear] [FinalYear]${finColor}"
    echo -e "\n${verde}   [-] Ejemplo:${azul} $0 1995 2005 ${finColor}\n"
fi
				
			

Conclusión:

Este script de Bash facilita la generación de bibliotecas de fechas personalizadas en formato ddmmyyyy. Puedes ajustar el rango de años según tus necesidades y obtener rápidamente un diccionario de fechas para utilizar en diferentes escenarios. Experimenta con diferentes rangos y aprovecha esta herramienta para tus proyectos y análisis de datos.

[ultimatemember form_id="17973"]

Formulario de Registro

[user_registration_form id=»20865″]