Isso gerará um info
como um arquivo de texto simples:
info --subnodes --output=info_file.txt info_file
Por exemplo:
info --subnodes --output=info.txt info
less info.txt
Fui convidado para postar novamente essa pergunta com menos opiniões, por isso, se parece familiar, é por isso.
Como posso converter páginas de informações em páginas man? Eu costumava ter um shell um forro que achatou um documento de informação inteiro em uma única página plana, adequada para navegar com menos, mas parece que eu a perdi. Por favor, compartilhe se você souber como fazer isso. :)
Obrigado!
O script acima não funciona bem. Para man pages normais, ele entra em recursão infinita; não é agradável na linha de comando. Quando invoca o comando "man" ele tem que ter certeza que não está invocando a si mesmo - isso é um problema se estiver em um diretório que esteja no seu PATH.
Como meu diretório ~ / bin é no meu PATH, alterei o final da lista "case" assim:
*)
/usr/bin/man $@
;;
esac
Eu nunca vi o homem verdadeiro estar em qualquer lugar além de / usr / bin / man, então isso deve funcionar.
As outras respostas aqui funcionarão, mas eu tenho uma alternativa muito mais simples:
info foo | less
Este comando obtém a saída de info
e canaliza-a através de less
, o que fará com que a página de informações se comporte de forma semelhante a uma página de manual normal. Não é tão preciso quanto as outras alternativas, mas funcionará na maioria dos casos.
Saída:
stefanl@host:~ $ info vi | less
File: *manpages*, Node: vim, Up: (dir)
VIM(1) VIM(1)
NAME
vim - Vi IMproved, a programmers text editor
SYNOPSIS
vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]
...
...
Uma versão mais precisa, mas mais complicada, seria:
info ls --subnodes -o - |less
As outras respostas aqui exigem que você se lembre de sinalizadores arcanos ou faça modificações em seu ambiente em todos os sistemas Linux que você mantém, o que não funciona bem se você tiver contas em centenas de sistemas. Em algum momento, você estará em um sistema em que seu ambiente personalizado não está presente e info foo | less
será muito fácil de lembrar.
Eu não queria sair do hábito de digitar 'man', então acabei escrevendo um wrapper usando a resposta de Dennis Williamson.
Conteúdo ~ / bin / man:
#!/bin/bash
case $1 in
info-*)
page=$(echo $1 | sed -e s/info-//g)
tmpfile="/tmp/info2man-$page.txt"
info --subnodes --output=$tmpfile $page \
&& less $tmpfile \
&& rm -f $tmpfile
;;
*)
man $@
;;
esac
Caso de uso
man sed
# learn the sed man page isn't adequate
man info-sed
Tags man