find /search/root -printf "%T+ %10s %p\n" | sort -n --reverse
Если Вы используете GNU, находят, и никакое имя файла (или путь) не содержит новую строку (который мог быть проверен a -path
тест).
Если у вас есть пакет цифра-utils
установленный, можно сделать:
cut -d ' ' -f 2 inputfile | numinterval | sort -u
первое и последнее число там дают минуту, resp. макс. изменяется.
, Если тот список является слишком длинным и вы также имеете , moreutils
установил вас, может сделать:
cut -d ' ' -f 2 inputfile | numinterval | sort -u | pee "tail -1" "head -1"
На Монетном дворе необходимо смочь установить те пакеты, на Солярисе, вероятно, необходимо скомпилировать из источника.
показывает две линии с наибольшим количеством различий между
awk '{c=$2-a[2];
if(c<0)c=-c;
if(+a[2]&&c>b){b=c;d=a[1]" "a[2]"\n"$0};
split($0,a," ")}
END{print "Difference is",b,"between:\n"d}'
$ awk 'BEGIN{last=0}{delta[NR]=$2-last; last=$2; print $0" "delta[NR]}' file
дадут вам
2003-07-03T16:05 279 279
2003-07-03T16:10 283 4
2003-07-03T16:15 282 -1
с дельтами в последнем столбце, так чтобы найти, что самые большие просто передают его по каналу к виду
$ awk 'BEGIN{last=0}{delta[NR]=$2-last; last=$2; print $0" "delta[NR]}' file | sort -k3n
2003-07-03T16:15 282 -1
2003-07-03T16:10 283 4
2003-07-03T16:05 279 279
, но для миллиона записей это будет действительно медленно. Я, вероятно, использовал бы mysql
или другой дб вместо этого.