Paso 1 de 5
Recorrer los archivos
"$carpeta"/* se convierte en la lista de lo que hay en la carpeta. Las comillas son importantes: sin ellas, un archivo como «mi archivo.docx» se partiría en dos.
[ -f "$archivo" ] || continue salta lo que no sea un archivo (las carpetas) y ${nombre##*.} quita todo hasta el último punto, dejando la extensión.
#!/bin/bash
carpeta="$HOME/Descargas"
for archivo in "$carpeta"/*; do
[ -f "$archivo" ] || continue # solo archivos, no carpetas
nombre=$(basename "$archivo")
extension="${nombre##*.}" # lo que hay tras el último punto
echo "$nombre → $extension"
done
cancion.mp3 → mp3
captura.PNG → PNG
copia.zip → zip
factura.pdf → pdf
foto.jpg → jpg
instalador.exe → exe
mi archivo.docx → docx
notas.txt → txt
video.mp4 → mp4