Найти субботу перед датой файла в bash

Я решаю его, просто удаляя и переустанавливая менеджер compiz.

3
задан 25 July 2017 в 16:31

2 ответа

Примерно в 100 раз быстрее, используя stat для получения дат, затем date -f - дважды, чтобы выполнить математику и форматирование, с помощью /usr/bin/* (4852 файлов) в качестве примера: stat -c %y /usr/bin/* | date -f - "+%F - %u days - 1 days" | date -f - Выход - 4852 строки различные даты, все из которых являются предыдущими субботами. Медленнее: объединение двух подголовников date выполняется примерно на 33% меньше времени: date -r /bin/bash "+%F" # print this only for reference date -d "$(date -r /bin/bash "+%F - %u days - 1 days")" Выход: 2017-05-16 Sat May 13 00:00:00 EDT 2017

Контрольный показатель для обоих (второй метод в for):

$ time -p stat -c %y /usr/bin/* | date -f - "+%F - %u days - 1 days" | \ date -f - > /dev/null real 0.19 user 0.14 sys 0.19 $ time -p for f in /usr/bin/* ; do \ date -d "$(date -r "$f" "+%F - %u days - 1 days")" ; done > /dev/null real 27.31 user 8.11 sys 14.93
1
ответ дан 18 July 2018 в 09:42
Примерно в 100 раз быстрее, используя stat для получения дат, затем date -f - дважды, чтобы выполнить математику и форматирование, с помощью /usr/bin/* (4852 файлов) в качестве примера: stat -c %y /usr/bin/* | date -f - "+%F - %u days - 1 days" | date -f - Выход - 4852 строки различные даты, все из которых являются предыдущими субботами. Медленнее: объединение двух подголовников date выполняется примерно на 33% меньше времени: date -r /bin/bash "+%F" # print this only for reference date -d "$(date -r /bin/bash "+%F - %u days - 1 days")" Выход: 2017-05-16 Sat May 13 00:00:00 EDT 2017

Контрольный показатель для обоих (второй метод в for):

$ time -p stat -c %y /usr/bin/* | date -f - "+%F - %u days - 1 days" | \ date -f - > /dev/null real 0.19 user 0.14 sys 0.19 $ time -p for f in /usr/bin/* ; do \ date -d "$(date -r "$f" "+%F - %u days - 1 days")" ; done > /dev/null real 27.31 user 8.11 sys 14.93
1
ответ дан 24 July 2018 в 19:24

Другие вопросы по тегам:

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