Найти самые большие файлы за каждую дату в каталоге

После изучения немного стандарта я нашел эту кавычку

Приложение, желающее предоставлять значок системному лотку, должно сначала определить местоположение системного лотка путем запроса окна владельца выбора менеджера. Если выбор менеджера не имеет никакого владельца, клиенты могут использовать метод, описанный в ICCCM (наблюдающий за клиентским сообщением МЕНЕДЖЕРА), чтобы быть уведомленными, когда системный лоток появляется.

Таким образом, в стандарте говорится, что у Вас не должно быть системного лотка, программа должна ожидать, что установка значка системного лотка перестанет работать.

Программа должна затем всегда иметь резервное поведение для этого случая. Но поскольку все мы знаем не, все программы прекрасны, и некоторые программы могли закончиться без GUI, и необходимо уничтожить их вручную.

4
25.09.2016, 20:18
3 ответа

В GNU/в любом случае,

ls -l --time-style=+%s \
| awk '{$6 = int($6/86400); print}' \
| sort -nk6,6 -nrk5,5 \
| sort -sunk6,6

Это даст вам границы UTC, добавьте местный временной сдвиг к вычислению по мере необходимости, например, int(($6-7*3600)/86400) для -0700 полуночных границ.

5
27.01.2020, 20:50

Подход, основанный на стату Для получения информации о файлах и awk для определения максимума для каждой даты:

stat -c $'%.10y\t%s\t%n' * |
  awk 'BEGIN { FS=OFS="\t" }
       s[$1]<$2 { s[$1]=$2 ; n[$1]=$3 }
       END { for (d in n) print d,s[d],n[d] | "sort" }'

Вывод будет вкладки Разделенный список (дата, размер, имя файла).

2
27.01.2020, 20:50

Я бы скрипил его вокруг использования «ls», чтобы получить файлы по размеру порядка (а затем ограничить результат, чтобы получить крупнейшее.

Например, если вы сделаете Ls ' -ls 2015.04.29 * «Вы получите список файлов в поручении по убыванию. или« LS -Ls 2015.04.29 * | Head -1 »должен дать вам крупнейшую.

Оттуда вы можете раздеть просто Имя файла и т. Д. В зависимости от вашей необходимости (а также как цикла через все даты, найденные в именах файлов, чтобы получить самую большую для всех дат и т. Д.). По существу просто A для LOOP на основе датов и команд LS, чтобы получить самый большой для каждая дата.

0
27.01.2020, 20:50

Теги

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