Предполагая, что ваши находятся в системе Linux или, по крайней мере, у вас есть GNU Touch
и GNU дата
, вы можете сделать (в Bash; ZSH
То же самое, но не нуждается в Shopt Globstar
):
$ shopt globstar
$ for f in **; do
touch -d "$(date -d "$(stat -c '%y' "$f") +3 months")" "$f"
done
, что, однако, проигнорируют скрытые файлы. Чтобы соответствовать тем, запустить ShopT -S dotglob
перед вышеуказанными командами.
ShopT -S Globstar
: Это устанавливает опцию Bash's Globstar
, что означает, что **
будет соответствовать всем файлам и нулю или более каталогам и подкаталам. ShopT -S dotglob
: производит *
(и **
) также соответствует файлам, имена которых начинаются с .
. для f в **; делать ...; Сделано
: итерации по всем файлам и каталоги , сохраняя их как $ F
. Статистика -C '% y' "$ F"
: Это текущий отметку времени текущего файла или каталога. Дата -D $ (...) +3 месяцев
: Распечатайте дату, которая через три месяца после данной строки (в этом случае эта строка является выходом команды
$ F
). Все вместе, приведенное выше найдет дата модификации каждого файла или каталога в текущей папке (включая все подкаталоги) и устанавливает дату через три месяца после того, как она сейчас.
У вас есть PPA, который вызывает проблемы, лучший способ - удалить его и понизить рейтинг пакетов:
sudo sed -i 's/deb\ http:\/\/ppa\.launchpad\.net/#deb\ http:\/\/ppa\.launchpad\.net/' /etc/apt/sources.list{,.d/*.list}
sudo apt-get update
sudo apt-get -f install libreoffice-base-drivers_ libreoffice-base-core/precise-updates libreoffice-base/precise-updates libreoffice-core/precise-updates libreoffice/precise-updates
Объяснение того, что делается выше:
libreoffice-base-drivers
и понизить рейтинг каждого другого пакета до тех, что находятся в precise-updates
. Последняя строка также может быть использована как:
sudo dpkg --purge --force-depends libreoffice-base-drivers
sudo apt-get install libreoffice-base-core/precise-updates libreoffice-base/precise-updates libreoffice-core/precise-updates libreoffice/precise-updates