POSIXly:
for file in ??-??-????' '*.xml; do
date=${file%% *}
year=${date##*-}
day=${date%%-*}
month=${date%-*}
month=${month#*-}
touch -d "$year-$month-$day 00:00:00" -- "$file"
done
С помощью zsh
вы можете сократить его до :
for f (??-??-????' '*.xml(N))
touch -d "$f[7,10]-$f[4,5]-$f[1,2] 00:00:00" -- $f