Execute meus próprios comandos em um arquivo aberto em menos tempo. É possível?

Execute meus próprios comandos em um arquivo aberto em menos tempo. É possível?

Eu queria saber se seria possível executar meus próprios comandos sobre o lesscomando. Com isso quero dizer ser capaz de abrir um arquivo lesse executar algum comando meu sobre o que estou vendo (ou até mesmo o arquivo inteiro, se necessário) enquanto mantém a tela como está. Por exemplo, eu gostaria de poder executar scripts diferentes que colorissem o que estou vendo atualmente de maneiras diferentes ou mostrar/ocultar certas linhas no arquivo.

Eu sei que posso fazer uma execução diferente a cada vez, cat <file> | my-script | less -Rmas isso não me proporciona a experiência de editor que isso lessproporciona.

Responder1

Você pode usar o |comando in less para canalizar o arquivo por meio de um programa diferente.

  1. Imprensa |.
  2. Insira uma letra de marca ou ^ou $ou ..
  3. Digite o comando shell para executar.
  4. Imprensa Enter.

Somente a parte do arquivo entre a posição atual e a marca é canalizada. A marca pode ser ^ou $significar o início e o fim do arquivo, respectivamente, ou uma posição definida com o mcomando. A posição atual é a linha na parte inferior da tela se a marca estiver antes dela, e a linha na parte inferior da tela caso contrário. Em particular, para canalizar o arquivo inteiro, use <|$mycommandou >|^mycommandpara definir a posição em uma extremidade do arquivo e a marca na outra extremidade. Para canalizar apenas as linhas mostradas na tela, use a marca ..

A saída do comando não ficará na tela; Se você quiser navegar na saída com less, precisará iniciar outra instância, por exemplo rot13 | less. Ao sair da segunda instância de less, você será levado de volta à primeira. Não há como substituir o conteúdo da instância atual pelos dados canalizados dela. Para ver as cores, lembre-se de correr less -R.

informação relacionada