システムマニュアルページが最も多いパッケージを探す

システムマニュアルページが最も多いパッケージを探す

システムのマニュアルページが最も多くインストールされているパッケージの名前を出力したいと思います。これを行うコマンドはありますか?

ベストアンサー1

Debian ベースのシステムでは、最も多くのパッケージを入手してください。インストール済みマニュアルページ:

dpkg -S '/usr/share/man/*.gz' | cut -d: -f1 | sort | uniq -c | sort -rn | head -1 | awk '{print $2}'

最も利用可能なマニュアルページを含むパッケージを入手するには(インストールするかどうかにかかわらず):

apt-file search /usr/share/man | cut -d: -f1 | uniq -c | sort -rn | head -1 | awk '{print $2}'

私のシステムで利用可能なマニュアルページが最も多いパッケージはですlinux-manual-3.2

説明する

pkg一度に1つずつ作成するパイプラインを見てみましょう。

  • apt-file search /usr/share/man

    これにより、階層内のすべてのファイルのパッケージとファイル名が返されます/usr/share/man

  • cut -d: -f1

    これにより、リストのファイル名が削除され、パッケージのリストのみが残ります。

  • uniq -c

    これにより、各パッケージのマニュアルページ数が計算されます。 (通常使用する前にソートが必要uniq -cですが、apt-find一度に1パッケージずつ出力を生成する場合は、この手順は不要です。)

  • sort -rn

    これは、一番上のページが最も高いパッケージが一番上にあり、最も低いページが最も少ないパッケージが一番下になるように降順にソートされます。

  • head -1

    マンページが最も多い最初の行が選択されます。

  • awk '{print $2}'

    これにより、その行からパッケージ名が選択されます。

このパイプラインの一部だけを使用するのは興味深かったです。

apt-file search /usr/share/man | cut -d: -f1 | uniq -c | sort -rn | less

lessこれにより、マニュアルページの数に基づいて降順に並べられたパッケージのリストが表示されます。私のシステムでは、上位5つは次のとおりです。

   3453 linux-manual-3.2
   3384 liblapack-doc-man
   2350 freebsd-manpages
   1916 manpages-ja-dev
   1905 manpages-fr-dev

おすすめ記事