Я решаю его, просто удаляя и переустанавливая менеджер compiz.
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
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