Вы должны будете заключить решение Ромео Нинова ниже в al oop следующим образом:
for file in *; do
date=$(stat -c "%y" "$file" | cut -d ' ' -f 1)
year=${date:0:4}
month=${date:5:2}
day={date:8:2}
mkdir -p $year/$month/$day
mv "$file" $year/$month/$day
done
В отличие от juanp, я использую дату последней модификации %y
вместо даты рождения файла, который не всегда доступен и, вероятно, не имеет значения.