Algumas coisas. Vamos começar com sua abordagem para capturar todos esses manpages. Deixe man
fazer isso tudo para você com man -k .
- começaremos com um exemplo mais curto:
$ man -k rmdir
rmdir (1) - remove empty directories
rmdir (1posix) - remove directories
rmdir (2) - delete a directory
rmdir (3posix) - remove a directory
Precisamos analisar essa lista. Precisamos do comando e da seção que está entre colchetes. Podemos dizer a awk
para dividir isso para nós usando seu argumento -F
(apenas informamos quais caracteres são nossos delimitadores) e, como um bônus, para salvar as variáveis de Bash, podemos ter awk
criando a variável próximo comando também.
Antes de chegarmos lá, precisamos saber qual comando queremos executar. man
pode gerar arquivos HTML se groff
estiver instalado ( sudo apt-get install groff
). Esta é provavelmente a melhor idéia possível para você agora, pois é uma forma de formatação bastante simples que é preservada. Também é bastante universal nos dias de hoje. Usamos -Hcat
para dizer a ele para renderizar HTML no comando cat (ele espera um navegador). O 1
é a seção (veja man man
para saber mais sobre isso).
man -Hcat 1 rmdir
Então, para trazer tudo isso de volta, vamos deixar o awk dividir a man -k
output, criar o comando e executá-lo em uma pequena linha:
man -k . | awk -F '[ ()]' '{print "man -Hcat",$3,$1," > "$1"."$3".html" | "/bin/sh"}'
Isso criará um arquivo HTML para a todas as páginas do manual . Levará muito tempo para terminar, então eu sugiro apenas testá-lo com o exemplo rmdir
, então sugiro apenas começar com rmdir
:
man -k rmdir | awk -F '[ ()]' '{print "man -Hcat",$3,$1," > "$1"."$3".html" | "/bin/sh"}'
Isso me dá quatro arquivos HTML ( rmdir.1.html
, rmdir.1posix.html
, rmdir.2.html
e rmdir.3posix.html
). Para transformá-los em um livro, sugiro strongmente que você consulte htmldoc
. Isso é um aplicativo gráfico e de linha de comando. Sugiro me acostumar com a versão gráfica primeiro.
E lá vai você. Todas as suas páginas de trabalho ordenadas, com uma tabela de conteúdo (se você quiser), com a formatação preservada em uma boa saída de documento (HTML ou PDF).