( Я знаю, что этому вопросу уже более 2 лет, однако проблема до сих пор актуальна)
Я использую следующий код для своего диска, который не учитывает настройки smartctl:
#!/bin/bash
while :
do
date +%s > /second_drive/keepalive_linux.txt
sync
sleep 2
done
Чтобы он запускался при запуске, я использовал:
EDITOR=nano crontab -e
И добавил:
@reboot bash /path/to/script.sh
(Кстати, диск отформатирован в NTFS)
Это то же самое, что и KeepAliveHD для Windows .
Хотя это можно было бы сделать лучше (, как описано в OP ), на данный момент это лучше, чем ничего.
Вы можете использовать sort
вам нужно будет установить разделитель полей на /
и отсортировать по 2-му полю.
В итоге я использовал find
вместо globs. Спасибо @ctrl -alt -delor за подсказку о сортировке по полю.
for file in `find {subdirFoo,subdirBar} -maxdepth 1 -name 'prefix*.ext' | sort -t / -k 2`; do echo $file; somecommand $file; done
Я не знаю, ли это правильный способ сделать это, но вы можете вставить подстановку параметра ${VAR##*/}
в квалификаторzsh
oe
glob:
% printf '%s\n' subdir*/*(.Noe:'REPLY=${REPLY##*/}':)
subdirFoo/2019-05-02-blah.ext
subdirBar/2019-05-05-blah.ext
subdirBar/2019-05-13-blah.ext
subdirFoo/2019-06-01-blah.ext
subdirBar/2019-06-03-blah.ext
subdirFoo/2019-06-07-blah.ext
Это упорядочивает результат глобуса по последнему компоненту пути (именам файлов ). Бит :'...':
в квалификаторе glob выполняется для каждого совпадения, а REPLY
устанавливается в значение, которое будет использоваться в качестве ключа сортировки($REPLY
— это фактическое совпадение с самого начала ).
См., например, Glob Qualifiers подраздел zsh :14.7 Расширение имени файла
oe and o+ are special cases; they are each followed by shell code, delimited as for the e glob qualifier and the + glob qualifier respectively (see above). The code is executed for each matched file with the parameter REPLY set to the name of the file on entry and globsort appended to zsh_eval_context. The code should modify the parameter REPLY in some fashion. On return, the value of the parameter is used instead of the file name as the string on which to sort. Unlike other sort operators, oe and o+ may be repeated, but note that the maximum number of sort operators of any kind that may appear in any glob expression is 12.