
Dies sind die Dateien im Verzeichnis:
Ford-Mustang-001.jpg
Ford-Mustang-002.jpg
Ford-Mustang-003.jpg
Chevy-Impala-001.jpg
Chevy-Impala-002.jpg
Chevy-Impala-003.jpg
Ich möchte diese in Unterordner sortieren:
/Mustang
/Impala
Antwort1
Die offensichtliche Antwort:
Erstellen Sie einfach die Verzeichnisse und legen Sie die Dateien dort ab.
mkdir Mustang Impala
mv *Mustang*.jpg Mustang/
mv *Impala*.jpg Impala/
Das nennt manDatei-Globbing; es ist eine Shell-Funktion.
Wenn Sie eine große Anzahl von Dateien haben und viele verschiedene Verzeichnisse erstellen müssen, um sie unterzubringen, versuchen SieJJoaos Antwort.
Antwort2
mit Prename (Perl-Renamer)
prename 'if(/(.+?)-(.+?)-(.*)/){mkdir $2; $_="$2/$_"}' *.jpg
Antwort3
Ich würde den Dateinamen mit awk aufteilen. awk {split $0, a, "-"; mkdir a[1]; mv $0 a[1]/}
Wenn Sie ihn umbenennen möchten, können Sie dies mit dem Programm mv tun.