Ho una directory piena di migliaia di file nel formato CognomeNomeAAAAMMGG.pdf. Il cognome e il nome saranno sempre in maiuscolo.
Vorrei estrarre il cognome in modo da poter spostare questi file in una struttura di directory di {first letter of last name}/lastname/full filename. Esempio:DoeJohn20190327 verrebbe spostato in D/Doe/DoeJohn20190327
Risposta accettata:
Qui hai una soluzione. L'ho testato e crea le cartelle come hai spiegato.
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