#!/bin/bash

# 1. Comprobar paso de argumento
if [ $# -ne 1 ]; then
    echo "Uso: $0 <directorio>"
    exit 1
fi

DIR=$1

# 2. Comprobar que el directorio existe
if [ ! -d "$DIR" ]; then
    echo "ERROR: El directorio $DIR no existe."
    exit 1
fi

# 3. Obtener la ruta absoluta del directorio base para evitar problemas
DIR_ABS=$(readlink -f "$DIR")

# 4. BUSCAR Y FORMATEAR
# -type f: Solo ficheros (ignora directorios)
# Usamos un bucle para procesar la información de cada archivo encontrado
find "$DIR_ABS" -type f | while read -r FICHERO; do
    
    NOMBRE=$(basename "$FICHERO")
    RUTA_ABS=$(readlink -f "$FICHERO")
    FECHA=$(stat -c %Y "$FICHERO")  
    TAMANO=$(stat -c %s "$FICHERO")
    PERMISOS=$(stat -c %A "$FICHERO")

    # Imprimimos los campos separados por tabuladores (\t). Usamos -e para ello.
    # Ponemos la fecha primero para poder ordenar después, pero la ocultaremos o moveremos
    echo -e "$NOMBRE\t$RUTA_ABS\t$FECHA\t$TAMANO bytes\t$PERMISOS"

done | sort -n -k 3

# EXPLICACIÓN DEL FINAL:
# sort -n: Ordena numéricamente por la fecha (que pusimos al principio) -k columna 3
