Spaces:
Running
Running
| # 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 0 | |
| fi | |
| # Leer el archivo línea por línea | |
| for linea in $(cat $archivo_entrada); do | |
| nombre=$(echo "$linea" | cut -d ":" -f1) | |
| echo "Recuperando $nombre" | |
| 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 | |