
Estes são os arquivos no diretório:
Ford-Mustang-001.jpg
Ford-Mustang-002.jpg
Ford-Mustang-003.jpg
Chevy-Impala-001.jpg
Chevy-Impala-002.jpg
Chevy-Impala-003.jpg
Eu gostaria de classificá-los em subpastas:
/Mustang
/Impala
Responder1
A resposta óbvia:
Basta criar os diretórios e colocar os arquivos neles.
mkdir Mustang Impala
mv *Mustang*.jpg Mustang/
mv *Impala*.jpg Impala/
Isso é chamadoglobulação de arquivo; é um recurso de shell.
Se você tiver um grande número de arquivos e precisar criar muitos diretórios diferentes para acomodá-los, tenteA resposta de JJoão.
Responder2
usando pré-nome (renomeador perl)
prename 'if(/(.+?)-(.+?)-(.*)/){mkdir $2; $_="$2/$_"}' *.jpg
Responder3
Eu dividiria o nome do arquivo usando awk, awk {split $0, a, "-"; mkdir a[1]; mv $0 a[1]/}
se você quiser renomear, você pode fazer isso com o programa mv