Ich habe ein Verzeichnis mit Tausenden von Dateien im Format NachnameVornameJJJJMMTT.pdf. Nachname und Vorname werden immer in Großbuchstaben geschrieben.
Ich möchte den Nachnamen extrahieren, damit ich diese Dateien in eine Verzeichnisstruktur von {erster Buchstabe des Nachnamens}/Nachname/vollständiger Dateiname verschieben kann. Beispiel:DoeJohn20190327 würde nach D/Doe/DoeJohn20190327 verschoben
Akzeptierte Antwort:
Hier haben Sie eine Lösung. Ich habe es getestet und es erstellt die Ordner, wie Sie es erklärt haben.
for filename in *.pdf
do
echo "Processing file $filename "
first_letter="${filename:0:1}"
mkdir -p $first_letter #if already exists won't print error
last_name=$(echo $filename | sed 's/\([^[:blank:]]\)\([[:upper:]]\)/\1 \2/g' |awk '{print $1}')
mkdir -p $first_letter/$last_name
mv $filename $first_letter/$last_name
done