He estado buscando una respuesta en la web durante unas horas y no puedo encontrar lo que estoy buscando. Lo que quiero hacer es mover cada archivo en un directorio a una nueva carpeta usando 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 solo para toda la carpeta usando un comando o un script?
Esto debería funcionar.
#!/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
sin ladera