Mover archivos a carpetas individuales, usando el nombre de archivo como convención de nomenclatura de carpeta para carpeta, usando Terminal

0

He estado buscando respuestas en la web ahora por algunas horas y no puedo encontrar lo que estoy buscando. Lo que quiero hacer es mover cada archivo de un directorio a una nueva carpeta con el nombre del archivo, excluyendo la extensión.

/Movies/Filname.avi --- > /Movies/Filename/Filename.avi

Sé cómo hacer cada archivo individual, pero puedo hacerlo de forma reclusiva para toda la carpeta con un comando o un script.

    
pregunta moosethemucha 18.02.2014 - 01:56

1 respuesta

1

Esto debería hacer el truco.

#!/bin/bash
shopt -s nullglob    #avoid problems in directory with no files
ext=avi              #the file extension to search for
for f in *.$ext; do
    d="${f##/}"      #gives us just the filename
    d="${d%.$ext}"   #strips the file extension
    mkdir "$d"       #makes the directory
    mv "$f" "$d/$f"  #moves the file
done
    
respondido por el miken32 18.02.2014 - 06:36

Lea otras preguntas en las etiquetas