@KerroViT

Как из /var/log/pacman.log получить названия пакетов?

Нужно с помощью bash достать список пакетов из файла /var/log/pacman.log

Структура файла примерно такая:

[2020-04-02T15:20:39+0500] [ALPM] installed dhclient (4.4.2-2)
[2020-04-02T15:20:39+0500] [ALPM] installed perl-yaml-syck (1.32-1)


Как это можно сделать так, чтобы в итоге получить:

dhclient
perl-yaml-syck
  • Вопрос задан
  • 141 просмотр
Решения вопроса 1
hempy80
@hempy80
Внесистемный администратор
cat /var/log/pacman.log | awk '{print $4}'
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
xotkot
@xotkot
хорошо есть и хорошо весьма
Структура файла примерно такая:

там структура лог пакмана немного сложнее чем вы представили

Нужно с помощью bash достать список пакетов из файла /var/log/pacman.log

список пакетов каких ?
установленных когда либо, удалённых или тех что конкретно сейчас установлены в системе ?
установленных из подключенных реп, аура или всех сразу ?
если последнее то будет примерно такое:
awk '$4=="installed" || $4=="removed" {print i++,$4,$5}' /var/log/pacman.log |sort -k3 -k1n |sed '$a\\' |awk '{if (a=="installed" && b!=$3) print b;a=$2;b=$3}' > packages.all.txt

подробнее смотри тут в разделе Создание списка пакетов для восстановления
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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