Jak wyszukać dane wyjściowe terminala

32

Załóżmy, że mam otwarty terminal, który zawiera tysiące wierszy danych wyjściowych z moich poprzednich poleceń w ciągu ostatnich kilku godzin / dni. Jak przeszukać zapisany wynik w poszukiwaniu ciągu? Szczególnie interesuje mnie rozwiązanie, które nie wymaga myszy.

Wiem, że powinienem był użyć koszulki, ale nie zawsze jest to wygodne.

Wiem, że mogłem „Wybrać wszystko”, a następnie otworzyć edytor, wkleić, a następnie wyszukać, ale mam nadzieję na coś prostszego (i wydaje się, że Wybierz wszystko wymaga myszy).

Miałem nadzieję, że na pasku menu pojawi się polecenie „Znajdź ...” (podobnie jak Mac OS X).

Joseph Johnson
źródło
2
Nawet nie zdawałem sobie sprawy, że istnieje polecenie „Znajdź ...”, dopóki nie wspomniałeś o nim w OS X, więc daj +1 temu pytaniu za odpowiedź na moje google.
ArtOfWarfare

Odpowiedzi:

16

Znalezienie tekstu w przewijaniu jest słabością większości terminalowych emulatorów; jedyne, jakie o tym wiem, to Terminal OS X i Terminator . To powiedziawszy, możesz uruchomić ekran GNU w dowolnym terminalu i przeszukać jego bufor przewijania w trybie kopiowania.

geekozaur
źródło
Dzięki geekozaurowi. Właśnie znalazłem ten „pomysł” na stronie ubuntu, która wydaje się potwierdzać, że jest to na razie niemożliwe: brainstorm.ubuntu.com/idea/9841
Dodam tylko, że możesz użyć Byobu opartego na TMux lub Screen
Boynux,
Terminator nie wyróżnia tekstu podczas jego wyszukiwania.
user171453,
48

Jeśli korzystasz z gnome-terminal (domyślny terminal GUI w Ubuntu), możesz nacisnąć shift+ctrl+f, wpisać wyszukiwane hasła i nacisnąć Enter. Wciąż graficzny, ale nie wymaga myszy.

niedoceniany
źródło
Dzięki SynapticUnderrun, ale twoja wskazówka wydaje się nie działać dla mnie. Używam świeżej instalacji systemu Ubuntu 10.4.
1
Działa to na Ubuntu 10.10 i 11.04. Używam teraz wersji 10.10 i używam gnome-terminal 2.32.0, więc być może uaktualnienie gnome-terminal byłoby pomocne. Ponieważ używa ono wyskakującego okna gtk do wpisywania wyszukiwanego tekstu, musisz uruchomić X, aby działał. Ale nie musisz używać myszy, a ona przeszuka cały bufor terminala (który możesz ustawić na nieograniczony w oknie dialogowym Edytuj-> Preferencje profilu).
Dzięki SynapticUnderrun na pewno będę szukał tego przy następnej aktualizacji.
Właśnie pracował dla mnie również w xfce4-terminal(X) Ubuntu Raring 13.04. Dzięki.
Gringo Suave,
4
To powinna być zaakceptowana odpowiedź. Działa dla mnie na Ubuntu 14.04 LTS.
user171453,
7

Skrót, aby znaleźć ciąg znaków w danych terminala: ctrl + shift + f

Ganesh
źródło
1
Działa z domyślnym xfce4-terminal 0.6.3włączeniem Xubuntu 16.04.
Jaakko,
3

Czy zastanawiałeś się nad użyciem pipe i grep?

YourCommand | grep str

Mam nadzieję że to pomoże


źródło
4
Poprosił o wyszukiwanie w wynikach już uruchomionych poleceń, a także wspomniał, że tee nie zawsze jest wygodny w użyciu, podobnie jak grep!
Aamir
1

Wypróbuj konsolę w kde. Działa również z gnomem / jednością. Zaprogramuj skrót Znajdź na alt-f lub ctrl-f, może wyszukiwać do przodu lub do tyłu, a także podświetli nowe wyniki, które pasują do wzorca wyszukiwania.

Albert Ho
źródło