Я запускаю приложение с командой $ grails run-app
, которая выводит журнал в терминал, как показано ниже.
Я хочу найти определенный текст (скажем user authorities
) в этом журнале, чтобы я мог проверить его дальше. Один из способов — использовать Logging Apis для записи в текстовый файл, но в данный момент я хочу искать его в терминале.
Я нашел похожий вопрос накак сделать поиск текста на терминале напрямуючто предполагает screen
команду, но я понятия не имею, как screen
это работает в данном случае. Я попытался
$ screen grails run-app
, но не смог продвинуться дальше.
Я могу видеть списки экранов с помощью
prayag@prayag:~/zlab/nioc2egdelonk$ screen -list
There is a screen on:
8076.pts-2.prayag (10/06/2013 12:13:25 PM) (Attached)
1 Socket in /var/run/screen/S-prayag.
решение1
Если вы используетеКонсоль(Эмулятор терминала KDE), вы можете использовать Ctrl+ Shift+ F. Это может работать и в других эмуляторах терминала (Linux); подтверждено, что это работает в терминале GNOME, терминале Xfce, Alacritty и Terminator.
решение2
Ctrl+a( screen
префикс команды по умолчанию), [(ввод copy
режима) с последующим ?SEARCH_TEXT
кажется работает. Нажмите nдля перехода к следующему вхождению. Оттуда вы можете копировать слова, строки, регионы и т. д. для дампа в файлы или вставлять позже (с Ctrl+a, ]).
решение3
Вы можете использовать grep
после grails
команды: grails run-app | grep "user authorities"
. Однако вам придется повторно выполнить команду.
решение4
Перенаправить вывод в конвейер и отправить его команде grep
:
grails run-app | grep user authorities