J'ai un répertoire rempli de milliers de fichiers au format NomPrénomAAAAMMJJ.pdf. Le nom et le prénom seront toujours dans la casse du titre.
J'aimerais extraire le nom de famille afin de pouvoir déplacer ces fichiers vers une structure de répertoires de {première lettre du nom de famille}/nom/nom de fichier complet. Exemple :DoeJohn20190327 serait déplacé vers D/Doe/DoeJohn20190327
Réponse acceptée :
Ici vous avez une solution. Je l'ai testé et il crée les dossiers comme vous l'avez expliqué.
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