Как искать вывод терминала

32

Предположим, у меня открыт Терминал, который содержит тысячи строк выходных данных из моих предыдущих команд за последние несколько часов / дней. Как найти в записанном выводе строку? Я особенно заинтересован в решении, которое не требует мыши.

Я знаю, что должен был использовать тройник, но это не всегда удобно.

Я знаю, что могу «Выбрать все», затем открыть редактор, вставить, затем выполнить поиск, но я надеюсь на что-то более простое (а для выбора «Все», похоже, требуется мышь).

Я надеялся, что в строке меню будет команда «Найти ...» (как в Mac OS X).

Джозеф Джонсон
источник
2
Я даже не осознавал, что была команда «Найти ...», пока вы не упомянули об этом в OS X, так что +1 к этому вопросу за ответ на мой поиск в Google.
ArtOfWarfare

Ответы:

16

Поиск текста в прокрутке - слабость большинства терминальных эмуляторов; единственные, кого я знаю об этом, это OS X Terminal и Terminator . Тем не менее, вы можете запустить экран GNU в любом терминале и искать его буфер прокрутки в режиме копирования.

geekosaur
источник
Спасибо geekosaur. Я также только что нашел эту «идею» на сайте Ubuntu, которая, кажется, только подтверждает, что это пока невозможно: brainstorm.ubuntu.com/idea/9841
Просто добавив, что вы можете использовать Byobu, который основан на TMux или Screen
Boynux
Терминатор не выделяет текст при поиске.
user171453
48

Если вы используете gnome-терминал (терминал с графическим интерфейсом по умолчанию в Ubuntu), вы можете нажать shift+ctrl+f, ввести условия поиска и нажать Enter. Все еще графический, но мышь не требуется.

опустошения
источник
Спасибо SynapticUnderrun, но ваш совет не работает для меня. Я использую свежую установку Ubuntu 10.4.
1
Это работает на Ubuntu 10.10 и 11.04. Я сейчас использую 10.10 и использую gnome-терминал 2.32.0, так что, возможно, обновление gnome-терминала поможет. Так как для ввода текста поиска используется всплывающее окно gtk, вам нужно будет запустить X, чтобы он работал. Но вам не нужно использовать мышь, и она будет искать весь буфер терминала (который вы можете установить неограниченным в диалоге Edit-> Profile Preferences).
Спасибо SynapticUnderrun, я обязательно поищу это в следующий раз, когда смогу обновить.
Просто работал для меня также в xfce4-terminal, (X) Ubuntu Raring 13.04. Спасибо.
Гринго Суаве
4
Это должен быть принятый ответ. У меня работает на Ubuntu 14.04 LTS.
user171453
7

Ярлык для поиска строки внутри данных терминала: Ctrl + Shift + F

Ganesh
источник
1
Работает с включенным xfce4-terminal 0.6.3по умолчанию Xubuntu 16.04.
Яакко
3

Вы рассматривали возможность использования pipe и grep?

YourCommand | grep str

Надеюсь это поможет


источник
4
Он попросил выполнить поиск в выводе уже запущенных команд, а также упомянул, что tee не всегда удобно использовать, как и grep!
Амир
1

Попробуй консоль в кде. Это работает с гномом / единство тоже. Запрограммируйте ярлык Find на alt-f или ctrl-f, чтобы он мог искать вперед или назад, плюс он выделит новый вывод, соответствующий шаблону поиска.

Альберт Хо
источник