OP, очевидно, ожидает, что путь, подобный
/Test1/Server17032016.log
, интерпретируется так, как если бы последние 8 цифр в имени файла были датой (день месяца, месяц и год), и хочет имя каталога, которое будет производным от этой даты.
Сценарий для заданных данных может выглядеть следующим образом:
#!/bin/sh
find /Test1 -type f -mtime +2 | while IFS= read -r name
do
date=$(echo "$name" | sed -e 's,^/Test1/Server,,' -e 's,\.log$,,' )
[ -z "$date" ] && continue
[ "x$date" = "x$name" ] && continue
mkdir -p /Test2/"$date"
mv -f "$name" /Test2/"$date/"
done
хотя может потребоваться некоторая доработка, если файлы журнала не начинаются с буквального Server
, а также для исключения файлов, которые не подходят шаблон.
Часть al
обозначает Arch Linux, часть arm
для ARM, как вы догадались.