#!/bin/csh

# Leer desde stdin y guardar en archivo temporal
set input_file = "/tmp/input_$$.txt"
cat > $input_file

# Archivo temporal para guardar el más reciente de cada grupo
set tmp_file = "/tmp/filenames_$$.txt"
cat /dev/null > $tmp_file

# Procesar cada línea
foreach file (`cat $input_file`)
    # Obtener la base y la fecha
    set base = `echo $file | sed -E 's/-[0-9]{6}\.zip$//'`
    set date = `echo $file | sed -E 's/^.*-([0-9]{6})\.zip$/\1/'`

    # Revisar si ya hay uno guardado para esa base
    set current_line = `grep "^$base " $tmp_file`
    if ("$current_line" != "") then
        set current_file = `echo $current_line | awk '{print $2}'`
        set current_date = `echo $current_file | sed -E 's/^.*-([0-9]{6})\.zip$/\1/'`
        if ("$date" > "$current_date") then
            # Reemplazar por el más nuevo
            sed -i '' "/^$base /d" $tmp_file
            echo "$base $file" >> $tmp_file
        endif
    else
        echo "$base $file" >> $tmp_file
    endif
end

# Marcar qué archivos se borran y cuáles se conservan
foreach file (`cat $input_file`)
    set keep = `grep "$file" $tmp_file`
    if ("$keep" == "") then
        echo "rm $file"
    else
        echo "# $file"
    endif
end

# Limpieza
rm -f $input_file $tmp_file

