Найти возраст самого старого файла в одной строке

Вроде нужны Юдиски и PCManFM:https://wiki.archlinux.org/index.php/PCManFM#Desktop_management

Вам также может понадобиться Consolekit для привилегий

1
23.04.2020, 16:51
2 ответа

Если я не ошибаюсь, это решение также должно работать для печати самого старшего возраста в днях `без использования сложных конструкций:

echo "$(( ($(date +%s) - $(stat -c %Y./* | sort -n | head -n 1)) / 86400 )) days"

и чтобы ответить на ваш вопрос -просто оберните его для расчета:

echo $(( $(stat -c %Y./* 2>/dev/null | awk -v d="$(date +%s)" 'BEGIN {m=d} $0 < m {m = $0} END {print d - m}') /86400 ))
0
19.03.2021, 02:26

С perlиzsh:

$ ls -ld./*(D-Om[1])
-rw-r--r-- 1 stephane stephane 205 Jan 11  2004./Y2K
$ perl -le 'print -M shift'./*(D-Om[1])
5947.59262731482

Только с zshи с наносекундной точностью (, ограниченной точностью вашего компилятора doubles):

zmodload zsh/datetime zsh/stat
stat -F %s.%N -A t +mtime./*(D-Om[1]) &&
  print $(((EPOCHREALTIME - t) / 24 / 60 / 60))

(обратите внимание, что день в этом случае является вторым блоком 86400 Unix)

0
19.03.2021, 02:26

Теги

Похожие вопросы