canalizando uma página man no MacOS para um editor

4

Usando bash no Mac OS para editar algumas man páginas para uso próprio.

No Mac OS, o comando open -t filename abrirá o arquivo especificado no editor de texto padrão do sistema.

$ man somepage | col -b

processará corretamente a página man designada. O que eu quero fazer é abrir a página do manual renderizada no editor de texto. Eu posso fazer isso da seguinte maneira:

man somepage | col -b > filename && open -t filename

Eu provavelmente deveria estar feliz com isso, mas eu entendi em meu cérebro que deve haver uma "maneira melhor" de fazer isso usando apenas tubulação e redirecionamento. Além disso, o comando acima tende a "aninhar" meu sistema de arquivos com arquivos que talvez não seja necessário reter - e, portanto, requer outra etapa para excluir o arquivo. Idealmente, eu poderia abrir a página manual processada no editor sem um nome de arquivo ou algum nome genérico que seria sobrescrito em cada chamada. Eu passei cerca de uma hora agora, tentando coisas diferentes, sem sucesso.

O que fez mais sentido para mim foi isto:

$ open -t < man somepage | col -b

ou isto:

$ open -t &1 < man somepage | col -b

mas é claro que isso não funciona porque o shell usa man como nome do arquivo. Estou perto de acertar isso? Eu sou maluca por tentar?

    
por Seamus 03.09.2018 / 05:56

1 resposta

4

Você pode passar open o -f flag para ler o conteúdo de stdin e abri-los no editor de texto, o que o torna utilizável em um pipeline.

Então, algo assim deveria fazer o que você quer:

man somepage | col -b | open -tf

Veja também:

por 03.09.2018 / 06:34