Проверьте что /sys/class/block/sdh
ссылки на. Вы видите хост, цель и LUN этот путь. Обычно этого достаточно для точного определения аппаратного адреса устройства.
С perl
:
perl -MPOSIX -le 'for (<*.jpg>) {
$d=strftime"%Y-%m-%d",localtime((stat$_)[9]);
mkdir$d;rename$_,"$d/$_" or warn "rename $_: $!\n"}'
С zsh
:
zmodload zsh/stat
for f (*.jpg) {stat -F %F -A d +mtime -- $f && mkdir -p $d && mv -- $f $d}
Со статистикой OSX:
for file in *; do
dir="$(stat -t %Y%m%d%H%M%S -f %Sm -- "$file")"
mkdir -p "$dir"
mv -- "$file" "$dir/$file"
done
Со статистикой GNU (т.е. на Linux или Cygwin):
for file in *; do
dir="$(stat -c %Y -- "$file")"
mkdir -p "$dir"
mv -- "$file" "$dir/$file"
done
Это переместит каждый файл в каталог, названный с его mtime (как эпоха).
Если Вы хотите более прекрасное гранулярное управление тем, как каталог смотрит, можно использовать дату GNU для переформатирования его путем изменения строки присвоения на что-то вроде этого:
dir="$(date -d @"$(stat -c %Y -- "$file")" +%F)"
Посмотрите man date
для получения информации о спецификациях формата даты, которые можно использовать. В этом случае, %F
:
%F полная дата; то же как %Y-% m-% d