Используйте iterm2 или терминальное приложение, которое может фильтровать результаты, а не только выделять результаты

379
Alexander Mills

Прямо сейчас я нахожусь на MacOS, и я использую iterm2 как мое приложение терминала. У него есть несколько замечательных функций, но одно ограничение заключается в том, что когда я использую ctrl-f для поиска чего-либо, он подсвечивает результаты желтым цветом, но не отфильтровывает несоответствующие результаты. Я ищу способ отфильтровать все несоответствующие строки, используя приложение терминала. Я имею в виду, что в терминале будет отображаться только то, что соответствует тому, что искали, что избавит от необходимости много прокручивать вверх и вниз.

Кто-нибудь знает, может ли iterm2 сделать это, или я должен искать другое терминальное приложение?

0
Мой внутренний Unix Greybeard говорит, что вы должны использовать такие инструменты, как grep, чтобы сделать это, а не полагаться на функции вашего эмулятора терминала. Spiff 5 лет назад 1
grep не может сделать такой динамический фильтр, и я не могу позволить себе перезапустить процесс, я должен просто выключить сервер? Не имеет смысла. Я знаю, что вы говорите, но только приложение для конечного пользователя, которое фактически отображает текст, может сделать это AFAICT. Alexander Mills 5 лет назад 0
О, так у вас есть вывод в буфере прокрутки эмулятора терминала, который вы не можете восстановить? Это облом Вы всегда можете сделать Cmd-A, Cmd-C, `pbpaste | grep somesearchstring`. Spiff 5 лет назад 1
Я думаю, мне нужно сделать видео, чтобы объяснить это. Я могу увеличить размер буфера до 100К строк, что более чем достаточно. Что я пытаюсь сделать - когда я ищу «fooxoaogeg», я хочу, чтобы только одна строка, соответствующая этой, отображалась в терминале, затем, когда я отменяю фильтр, все несопоставленные строки снова появляются на экране. Alexander Mills 5 лет назад 0
Я точно понимаю, что вы хотите, но я не знаю, предоставляют ли Terminal.app или iTerm2 GUI способ сделать это (именно поэтому я не опубликовал ответ), поэтому я предоставил способ сделать что-то очень похожее в любой эмулятор терминала. А именно: выберите все, скопируйте, (необязательно, откройте новое окно здесь), используйте команду "pbpaste", чтобы отправить содержимое буфера обмена (буфера обмена) в стандартный вывод, направить его в grep и иметь фильтр grep для вашей строки или регулярного выражения (необязательно закрыть новое окно здесь). Это не так мило, как вы хотите, но это может быть достойный обходной путь. Spiff 5 лет назад 1

0 ответов на вопрос