Просто для удовольствия или для удобства, я решил написать все man-страницы в файлы.
Теперь, если мне нужно сделать это один за другим, я бы сделал man package-name > filename. Но я хочу сделать умную работу и сразу написать всех мужчин, либо с помощью одной команды, либо с помощью сценария bash. Все, что я до сих пор придумал, это
cd /usr/share #you may use any folder
whereis -m * | grep '.gz' |awk '{print$1}' |sed s/://g
. Это дает результат , назвав все приложения имеющими man pages.Some часть этого, как показано ниже.
speech-dispatcher
stellarium
synaptic
syslinux
system-config-printer
tabset
terminfo
totem
ufw
unetbootin
unity
unity-greeter
update-manager
upstart
usb_modeswitch
vim
virtualbox
vlc
xmms2
xpdf
yelp
zenity
Теперь мне нужно сделать перенаправление этого вывода на man, чтобы я мог перенаправить его на файлы. Когда я это сделаю, я могу создать скрипт для cd для каждой папки
Итак, мой вопрос: как мне это достичь?
ИЛИ, может быть, существует альтернативный способ?
Я использую Ubuntu 12.10.
Пожалуйста, перенесите его в stackoverflow, если это уместно. Хотя я думаю, что здесь более уместно.Во-первых, зачем вам файл, содержащий все страницы руководства? Если для облегчения поиска по всем ним для некоторого ключевого слова, GNU уже предоставляет apropos только для этого:
apropos some-regular-expression
возвращает список всех справочных страниц, соответствующих регулярному выражению, в их имени или описании .
В любом случае, если вы все еще хотите энциклопедический файл, то, используя apropos, вы можете получить список всех страниц man в системе, выполнив поиск универсального регулярного выражения:
затем подайте полученный список в команду man:
apropos '.*' | awk '{print $1;}' | xargs man > all-manpages.txt
Вы также можете использовать метод, описанный в ответе на аналогичный вопрос «Сгенерировать список всех доступных команд и что каждый из них ", заменив whatis на man.