Como pesquisar a saída do terminal

32

Suponha que eu tenha um Terminal aberto que contenha milhares de linhas de saída dos meus comandos anteriores nas últimas horas / dias. Como pesquiso essa saída gravada para uma string? Estou especialmente interessado em uma solução que não requer o mouse.

Eu sei que deveria ter usado camiseta, mas isso nem sempre é conveniente.

Eu sei que poderia "Selecionar tudo", abrir um editor, colar e pesquisar, mas espero algo mais simples (e Selecionar tudo parece exigir o mouse).

Eu esperava que houvesse um comando "Localizar ..." na barra de menus (como o Mac OS X).

Joseph Johnson
fonte
2
Eu nem percebi que havia um comando "Localizar ..." até você mencioná-lo no OS X, então marque com +1 esta pergunta por ser a resposta para o meu Google.
ArtOfWarfare

Respostas:

16

Encontrar texto na rolagem é uma fraqueza da maioria dos emuladores de terminal; os únicos que eu conheço que o fornecem são OS X Terminal e Terminator . Dito isso, você pode executar a tela GNU em qualquer terminal e pesquisar seu buffer de rolagem no modo de cópia.

geekosaur
fonte
Obrigado geekosaur. Eu também encontrei esta 'idéia' no site ubuntu, que apenas parece confirmar que é impossível até o momento: brainstorm.ubuntu.com/idea/9841
Apenas acrescentando que você pode usar Byobu que baseado em tmux ou Tela
Boynux
O Terminator não realça o texto quando você o pesquisa.
user171453
48

Se você estiver executando um terminal gnome (terminal da GUI padrão no ubuntu), pode clicar shift+ctrl+f, digitar os termos da pesquisa e pressionar enter. Ainda gráfico, mas não é necessário mouse.

underrun
fonte
Obrigado SynapticUnderrun, mas sua dica não parece funcionar para mim. Estou usando uma nova instalação do ubuntu 10.4.
11
Isso funciona no ubuntu 10.10 e 11.04. Estou executando a 10.10 agora e usando o gnome-terminal 2.32.0, então talvez a atualização do gnome-terminal ajude. Como isso usa uma janela pop-up gtk para inserir o texto da pesquisa, você precisará executar o X para que ele funcione. Mas você não precisa usar o mouse e ele pesquisará todo o buffer do terminal (que pode ser definido como ilimitado na caixa de diálogo Editar-> Preferências do perfil).
Obrigado SynapticUnderrun, definitivamente vou procurar pela próxima vez que puder atualizar.
Apenas trabalhei para mim também no xfce4-terminal(X) ubuntu Raring 13.04. Obrigado.
Gringo Suave
4
Essa deve ser a resposta aceita. Funciona para mim no Ubuntu 14.04 LTS.
user171453
7

Atalho para encontrar a string dentro dos dados do terminal: ctrl + shift + f

Ganesh
fonte
11
Funciona com o padrão xfce4-terminal 0.6.3ativado Xubuntu 16.04.
precisa
3

Você já pensou em usar pipe e grep?

YourCommand | grep str

Espero que isto ajude


fonte
4
Ele pediu para pesquisar na saída dos comandos já executados e também mencionou que nem sempre o tee é conveniente de usar e o grep!
Aamir
1

Experimente o konsole no kde. Também funciona com o gnome / unidade. Programe o atalho Find para alt-f ou ctrl-f, ele pode pesquisar para frente ou para trás, além de destacar a nova saída que corresponde ao padrão de pesquisa.

Albert Ho
fonte