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