Eu ainda sou um novato, mas aqui está o meu:
#!/bin/bash
current_directory=$(pwd)
#echo $current_directory
(find -maxdepth 1 -type d -name '*' ! -name '.*' -printf '%f\n')>filelist
number=$(find -maxdepth 1 -type d -name '*' ! -name '.*' -printf '%f\n' | wc -l)
for iteration in 'seq $number'
do
fname=$(head -1 filelist)
sed 1d < filelist > filelist2
mv filelist2 filelist
cd "$fname"
if [ -z $(ls | grep -i jpg) ]
then echo "Doing nothing as there are no JPG files....."
else
total=$(ls -l|grep -i jpg | wc -l)
mkdir -p Covers
mv *.jpg Covers
echo "Moved $total JPG Files....."
fi
cd "$current_directory"
done
Basta acessar o diretório principal de músicas e executar este script.
Não há necessidade de passar argumentos
EDIT: Foi desleixado antes. Está mais desleixado agora. Mas acho que vai funcionar.