
システムのマニュアルページが最も多くインストールされているパッケージの名前を出力したいと思います。これを行うコマンドはありますか?
答え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
答え2
私のGentooボックスコマンドで
qfile /usr/share/man/*/* | awk '{print $1}' | sort | uniq -c | sort -n
与えられた
864 sys-libs/ncurses
1139 sys-apps/man-pages-posix
1283 dev-libs/openssl
2209 sys-apps/man-pages
2246 x11-libs/libxcb
しかし、その後も含まれていますみんなわずかな**
パターンヘルプを持つサブディレクトリ
qfile /usr/share/man/**/* | awk '{print $1}' | sort | uniq -c | sort -n
マニュアルページが勝ちます。
933 sys-libs/ncurses
1142 sys-apps/man-pages-posix
1352 dev-libs/openssl
2254 x11-libs/libxcb
2310 sys-apps/man-pages
答え3
Debian / Ubuntu / Mintの代替...
$ cd /var/lib/dpkg/info &&
grep -c '^/usr/share/man/.*/' *.list | sort -t: -k2rn | less -XF
私にしてください:
manpages-dev.list:1962
libssl-doc.list:1171
tcl8.6-doc.list:813
perl-doc.list:719
libdatetime-locale-perl.list:470
tcllib.list:407
答え4
このソリューションは動作します中央オペレーティングシステムそしてRHELマシン。
rpm -qf $(man -w $(compgen -ac)) | sort | uniq -c | sort -nr | head -1
システムで利用可能なすべてのコマンドのリストを生成するために使用できますcompgen -ac
。これで、man -w
このコマンドのマニュアルページがわかります。
このマニュアルページを入力として使用すると、そのマニュアルページをrpm -qf
含むパッケージが提供されます。次に、出力をソートし、発生の総数を見つけて、パッケージ名とそのパッケージに対応するマニュアルページ数を提供する最初の行を取得します。上記のコマンドを実行した後に得た結果は次のとおりです。
329 netpbm-progs-10.47.05-11.el6.x86_64
したがって、上記の出力には、パッケージが提供するコマンドのマニュアルページ項目が329個あり、netpbm-progs-10.47.05-11.el6.x86_64
これは私のシステムで最も高い数値です。
引用する