Возможно, кто-то другой может написать подробности о том, как именно он работает, но эта по крайней мере кажется достаточным объяснением:
На машине CoreOS сама операционная система смонтирована как раздел только для чтения в /usr.
Вместо изменения uid/gid я только что создал нового пользователя/группу.
Самый простой подход (но неудачный, если ваши файлы содержат пробелы, новые строки или другие странные символы) -
ls -ltr '*2014-09-20*' | tail -n 1
Более безопасный способ -
find . -printf "%T@\t%p\n" | sort | awk -F"\t" '{print $NF}'
Если вам нужно использовать файл с самым последним временем модификации, самый простой подход - это использовать zsh вместо какой-нибудь другой оболочки и использовать его glob-квалификаторы om
для сортировки совпадений по времени модификации и [1]
для сохранения только первого совпадения.
echo *2014-09-20*(om[1])
Если вы хотите, чтобы последняя метка времени основывалась на части имени файла, то будет выполнена обычная сортировка. Следующая функция действует на последнем аргументе:
act_on_last_file () {
eval 'set -- "${'"$#"'}"'
echo "$1"
}
act_on_last_file *2014-09-20*