Tengo un directorio lleno con miles de archivos con el formato ApellidoNombreYYYYMMDD.pdf. El apellido y el nombre siempre estarán en mayúsculas y minúsculas.
Me gustaría extraer el apellido para poder mover estos archivos a una estructura de directorio de {primera letra del apellido}/apellido/nombre de archivo completo. Ejemplo:DoeJohn20190327 se movería a D/Doe/DoeJohn20190327
Respuesta aceptada:
Aquí tienes una solución. Lo probé y crea las carpetas como explicaste.
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