Список установленных пакетов Archlinux/Pacman с описанием

Список установленных пакетов Archlinux/Pacman с описанием

Как составить список установленных пакетов (по пользователю) с кратким описанием?

При поиске пакетов для установки: pacman -Ss zshя получаю следующий результат:
extra/zsh 5.7.1-1 [installed] A very advanced and programmable command interpreter (shell) for UNIX
Я хотел бы получить тот же результат, используя что-то вроде pacman -Qe.

решение1

С моей стороны они работают быстро.

 

Это даст полную информацию о результатах pacman -Qe. Он делает pacman -Qi на каждой строке вывода pacman -Qe

for line in "$(pacman -Qqe)"; do pacman -Qi $(echo "$line"); done

 

Это сгенерирует тот же вывод, что и цикл, который вы сделали, но без выполнения поиска pacman на каждой строке. Использует каналы и perl для форматирования вывода указанной выше команды

for line in "$(pacman -Qqe)"; do pacman -Qi $(echo "$line") ; done | perl -pe 's/ +/ /gm' | perl -pe 's/^(Groups +: )(.*)/$1($2)/gm' | perl -0777 -pe 's/^Name : (.*)\nVersion :(.*)\nDescription : ((?!None).*)?(?:.|\n)*?Groups :((?! \(None\)$)( )?.*)?(?:.|\n(?!Name))+/local\/$1$2$4\n    $3/gm' | grep -A1 --color -P "^[^\s]+"

 

То же, что и выше, но не добавлено «local/» в начало имени каждого пакета

for line in "$(pacman -Qqe)"; do pacman -Qi $(echo "$line") ; done | perl -pe 's/ +/ /gm' | perl -pe 's/^(Groups +: )(.*)/$1($2)/gm' | perl -0777 -pe 's/^Name : (.*)\nVersion :(.*)\nDescription : ((?!None).*)?(?:.|\n)*?Groups :((?! \(None\)$)( )?.*)?(?:.|\n(?!Name))+/$1$2$4\n    $3/gm' | grep -A1 --color -P "^[^\s]+"

решение2

Эта команда дает описание в той же строке.

expac -H M '%-20n\t%10d' $(pacman -Qe)

Он создан из некоторых найденных команд.здесьв архвики.

Связанный контент