Is there an easy way to find out which command has the longest manual pages?
How do I tell which command has the longest manual on my system?
scripting;man;info
You can calculate it yourself for your system with simple command$ 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 4which returns on my box      (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   58630where columns represent number of lines, words and characters respectively. Rows (commands) are sorted by last column.We can do similar thing for info pages, but we have to bear in mind that it's content can span over many files. Thus let's use the benefits of zsh to keep above one-liner in compact form: $ 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 4what gives   (info title)                          (lines) (words) (chars)elisp                                     72925  457537 3379403libc                                      69813  411216 3066817lispref                                   62753  374938 2806412emacs                                     47507  322194 2291425calc                                      33716  244394 1680763internals                                 32221  219772 1549305zsh                                       34932  206851 1544909gsl-ref                                   32493  179954 1518248gnus                                      31723  180613 1405064gawk                                      27150  167135 1203395xemacs                                    25734  170403 1184250Info pages are huge mostly for gnu-related stuff what is understandable, but I find interesting that for example zsh has more lines and words but less characters than in man pages. It is interesting because at first glance the content is the same, just formatting is a little bit different.Explanation of zsh tricks in the selection of the files for the loop: for inf in ${(u)$(echo /usr/share/info/**/*(.:t:r:r))}; doThe goal is to create the list of unique file names from /usr/share/info directory and all subdirectories. Files should be stripped from dirname, extenstions and all numbers. The above snippet can be rewritten as ${(u)$(echo /usr/share/info/**/*(.)):t:r:r}, what gives the same result but uses probably more decent syntax, namely:**/*: descent into all subdirectories and mark everything there(.): select only plain files:t: remove pathname components (works like basename):r: remove extension (everything after last dot, including dot). It is applied twice to remove also unnecessary string and number (e.g. .info-6 from file zsh.info-6.bz2)(u): show only unique words (after previous operations there are many the same words - different files/chapters for the same info command)