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 -Qe出力の各行に対してpacman -Qiを実行します。

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)

これはいくつかのコマンドから作成されていますここアーチウィキで。

関連情報