Mám adresář plný tisíců souborů ve formátu PříjmeníJménoRRRRMMDD.pdf. Příjmení a jméno budou vždy velkými písmeny.
Chtěl bych extrahovat příjmení, abych mohl tyto soubory přesunout do adresářové struktury {first letter of last name}/lastname/full filename. Příklad:DoeJohn20190327 by se přesunul do D/Doe/DoeJohn20190327
Přijatá odpověď:
Tady máte řešení. Testoval jsem to a vytváří složky, jak jste vysvětlili.
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