У меня нет доступа к HP -UX, но в Solaris или любой системе BSD (, т.е. без использования GNU find
), следующее будет работать:
find. -type f -cmin +15 -print -exec rm {} +
Это позволит найти все обычные файлы в текущем каталоге или ниже него, чье последнее изменение статуса индексного дескриптора произошло более 15 минут назад. Пути этих файлов будут отображаться, а затем файлы будут удалены.
Чтобы получить интерактивное подтверждение перед удалением чего-либо, используйте
find. -type f -cmin +15 -print -ok rm {} ';'
Большинство файловых систем Unix не отслеживают время создания файла . Предикат -cmin
для find
будет сравниваться с ctime файла, т. е. «временем изменения» индексного дескриптора. Если индекс файла не изменился с момента его создания, то это будет его «время создания». Временная метка ctime обновляется при создании файла и изменении прав собственности или разрешений. Изменение содержимого файла также обновляет эту метку времени.
LC_MESSAGES=C dpkg-divert --list '*nvidia-340*'
перечисляет все отклонения, соответствующие шаблону глобуса *nvidia-340*
, на английском языке, так что вывод имеет вид «перенаправление от... к... посредством...».
sed -nre 's/^diversion of (.*) to.*/\1/p'
извлекает текст между «переадресацией» и «кому», т. е. имя перенаправленных файлов. -nre
эквивалентно -n -r -e
; -n
отключает автоматический вывод пространства шаблонов, поэтому ничего не выводится, если только это не запрошено командой p
(см. конец команды sed
); -r
включает расширенные регулярные выражения; и -e
представляет сценарий, который мы хотим запустить. В регулярном выражении ^diversion of
соответствует «перенаправлению» (, включая пробел )в начале строки; (.*)
соответствует любому количеству символов и создает группу соответствия; to.*
соответствует « to » (, включая начальные и конечные пробелы ), за которыми следует любой символ. Это используется в команде s
для замены полного текста только \1
, содержимым группы соответствия (, т. е. текстом между «diversion of» и «to» ). Последняя команда p
печатает пространство шаблонов, если команда s
совпала.
xargs -rd'\n' -n1 -- sudo dpkg-divert --remove
запускает sudo dpkg-divert --remove
для каждого файла, выведенного на предыдущем шаге, удаляя соответствующее отклонение.
sudo apt --fix-broken install
пытается исправить все сломанные зависимости.