#!/bin/bash # Verificar si se pasó un archivo como parámetro if [ -z "$1" ]; then echo "Uso: $0 archivo_de_entrada" exit 1 fi archivo_entrada="$1" # Verificar si el archivo existe if [ ! -f "$archivo_entrada" ]; then echo "El archivo $archivo_entrada no existe." exit 1 fi # Leer el archivo línea por línea for linea in $(cat $archivo_entrada) do nombre=$((echo "$linea" | cut -d ':' -f1)) valor=$((echo "$linea" | cut -d ':' -f2)) # Crear el directorio si no existe dir=$(dirname "$nombre") mkdir -p "$dir" # Crear el archivo con el contenido adecuado if [ -z "$valor" ]; then # Si el valor está vacío, crear un archivo vacío touch "$nombre" else # Si el valor no está vacío, decodificarlo de base64 y escribirlo en el archivo echo "$valor" | base64 --decode > "$nombre" fi done