どのコマンドのマニュアルページが最も長いか簡単に把握する方法はありますか?
ベストアンサー1
簡単なコマンドを使用して、システムに合わせて直接計算できます。
$ find /usr/share/man/ -type f -exec ls -S {} + 2>/dev/null | head | while \
read -r file; do printf "%-40s" "$file"; \
man "$file" 2>/dev/null | wc -lwm; done | sort -nrk 4
私の箱に戻る
(file) (lines) (words) (chars)
/usr/share/man/man1/zshall.1.bz2 27017 186394 1688174
/usr/share/man/man1/cmake.1.bz2 22477 106148 1004288
/usr/share/man/man1/cmake-gui.1.bz2 21362 100055 951110
/usr/share/man/man1/perltoc.1.bz2 18179 59783 780134
/usr/share/man/man1/cpack.1.bz2 9694 48264 458528
/usr/share/man/man1/cmakemodules.1.bz2 10637 42022 419127
/usr/share/man/man5/smb.conf.5.bz2 8306 49991 404190
/usr/share/man/man1/perlapi.1.bz2 8548 43873 387237
/usr/share/man/man1/perldiag.1.bz2 5662 37910 276778
/usr/share/man/e 1518 5919 58630
列は、それぞれ行、単語、および文字数を表します。行(コマンド)は最後の列に基づいてソートされます。
情報ページでも同様のことができますが、その内容が複数のファイルにまたがる可能性があることに注意してください。したがって、zsh
上記の行を簡潔な形式に保つという利点を活用してみましょう。
$ for inf in ${(u)$(echo /usr/share/info/**/*(.:t:r:r))}; do \
printf "%-40s" "$inf"; \
info "$inf" 2>/dev/null | wc -lwm; done | sort -nrk 4
何を与える
(info title) (lines) (words) (chars)
elisp 72925 457537 3379403
libc 69813 411216 3066817
lispref 62753 374938 2806412
emacs 47507 322194 2291425
calc 33716 244394 1680763
internals 32221 219772 1549305
zsh 34932 206851 1544909
gsl-ref 32493 179954 1518248
gnus 31723 180613 1405064
gawk 27150 167135 1203395
xemacs 25734 170403 1184250
情報ページはかなり大きく、主にgnuに関連するものなので、理解できます。しかし、例えばzshには、マンページよりも行や単語が多いが、文字が少ないという点が興味深い。一見すると内容は同じで形式だけ少し違うので面白いです。
ループファイルを選択するときのzshのヒント:for inf in ${(u)$(echo /usr/share/info/**/*(.:t:r:r))}; do
目的は、/usr/share/infoディレクトリとすべてのサブディレクトリに一意のファイル名のリストを作成することです。ファイルは、ディレクトリ名、拡張子、およびすべての番号から削除する必要があります。上記のコードスニペットは、次のように書き直すことができます${(u)$(echo /usr/share/info/**/*(.)):t:r:r}
。これは同じ結果を提供しますが、より適切な構文を使用します。例:
**/*
:すべてのサブディレクトリにドロップダウンし、そこにあるすべての項目を表示します。(.)
:一般ファイルのみ選択:t
:パス名コンポーネントの削除(に似ていますbasename
):r
:拡張子(点を含む最後の点の後のすべての内容)を削除します。不要な文字列と数字を削除するために2回適用されます(.info-6
ファイル内などzsh.info-6.bz2
)。(u)
:一意の単語のみを表示します(以前の操作以降の同じ単語が多い - 同じ情報コマンドの異なるファイル/章)。