Organizador de Archivos por Tipo
Parte de la sección Fundamentos del Journey de Terminal de Coddy. Lección 80 de 82.
Desafío
FácilCrea un script de shell llamado organize.sh que organice los archivos en la carpeta downloads moviéndolos a subcarpetas basadas en sus extensiones de archivo.
Tu script debe:
- Comenzar con la línea shebang (
#!/bin/bash) - Recorrer todos los archivos en el directorio
downloads - Para cada archivo, extraer su extensión usando
${file##*.} - Crear una carpeta para esa extensión dentro de
downloadssi no existe - Mover el archivo a su carpeta de extensión correspondiente
- Imprimir
Moved [filename] to [extension]/para cada archivo movido
Haz el script ejecutable y ejecútalo. Tu salida debería ser:
Moved document.pdf to pdf/
Moved image.jpg to jpg/
Moved notes.txt to txt/
Moved photo.jpg to jpg/
Moved readme.txt to txt/
Moved report.pdf to pdf/
Moved song.mp3 to mp3/
Moved track.mp3 to mp3/Después de ejecutar el script, verifica la organización listando la carpeta downloads con ls downloads. Deberías ver cuatro carpetas: jpg, mp3, pdf y txt.
Pista: Usa
for file in downloads/*; dopara recorrer los archivos. Dentro del bucle, extrae solo el nombre del archivo conbasename "$file"y la extensión con${file##*.}. Usamkdir -p "downloads/$ext"para crear la carpeta ymv "$file" "downloads/$ext/"para mover el archivo.
Pruébalo tú mismo
Todas las lecciones de Fundamentos
4Directorios
Crear Un DirectorioCopiar Un DirectorioMover Y Renombrar Un DirectorioEliminar Un DirectorioResumen - Operaciones Con Directorios7Contenido de Archivos
Head y TailConteo de PalabrasComando SortComando UniqGrep BásicoGrep con FlagsResumen - Detective de Texto10Proyecto Analizador de Registros
Resumen del ProyectoVisualizando el Archivo de Registro2Navegación
Imprimir Directorio de TrabajoListar ArchivosCambiar de DirectorioRutas Absolutas vs RelativasDirectorio Home y RaízRepaso - Encuentra tu Camino8Redirección
Salida EstándarSobrescribir en un ArchivoAnexar a un ArchivoEntrada EstándarError EstándarResumen - Constructor de Registro11Permisos
Entendiendo PermisosLeyendo PermisosChmod con NúmerosChmod con SímbolosPropiedad de ArchivosResumen - Bloquéalo14Proyecto de Script de Copia de Seguridad
Visión General del ProyectoObteniendo la Ruta de Origen3Archivos
Crear un ArchivoLeer un ArchivoCopiar un ArchivoMover y Renombrar un ArchivoEliminar un ArchivoResumen - Operaciones con Archivos6Comodines y Patrones
El comodín asteriscoEl comodín interroganteComodines de corchetesCombinando comodinesRepaso - Operaciones selectivas9Tuberías
Qué es una tuberíaEncadenando dos comandosEncadenando múltiples comandosTubería con GrepResumen - Tubería de datos12Entorno
Variables de EntornoVer Todas las VariablesLa Variable PATHEstablecer una VariableExportar una VariableEl Archivo de PerfilResumen - Entorno Personalizado15Desafíos Finales
Organizador de Archivos por TipoContador de Frecuencia de PalabrasVerificador de Salud del SistemaPractica por tu cuenta: Playground de Terminal