No meu sistema, man less
diz
s filename Save the input to a file. This only works if the input is a pipe, not an ordinary file.
Funciona para mim!
Se eu canalizar os resultados de um comando para less
e, em seguida, decidir que quero salvar o conteúdo em um arquivo, isso é possível?
Eu tentei definir uma marca a
no final do buffer e, em seguida, retornar ao topo e usar |avi
para enviar todo o conteúdo para vi
, mas isso não funciona.
A resposta aceita não funciona no Mac - como @benroth diz, pressionando s
apenas se move para baixo de uma linha - mas você pode usar um método diferente.
Em less --help
:
|Xcommand Pipe file between current pos & mark X to shell command.
e
A mark is any upper-case or lower-case letter.
Certain marks are predefined:
^ means beginning of the file
$ means end of the file
Então, se você for para o topo do buffer ( <
) e, em seguida:
|$cat > /tmp/foo.txt
o conteúdo do buffer será gravado em /tmp/foo.txt
.
Quando seu less
é aberto, você pode salvar a saída completa em um arquivo.
Como vim
, menos suporta comandos.
Basta digitar a chave s
, então less
perguntará o nome do arquivo onde você deseja salvar o conteúdo, basta digitar o nome do arquivo e digitar Enter
.
Felicidades
Minha resposta chega um pouco tarde demais. Mas apenas para referência em resposta à preocupação de Benroth acima: Para os usuários do OSX, sempre há a opção de despejar o conteúdo do pager em um arquivo de log usando a opção "-l" (leia DASH ELL ) no prompt do ponto-e-vírgula.
O pager pedirá um arquivo de log. Digite e pressione [CR]
Use o operador >
. Por exemplo: less foo.bar > output.txt
.
Não, se você começou menos, mas se você sabe antes de querer enviá-lo para menos e um arquivo, então você pode usar o comando tee
command | tee out_file | less