58

I am running an application with command $ grails run-app which prints log in terminal like below.

search_text_terminal

What I want is search a particular text (say user authorities) in this log so that I can verify further. One way using Logging Apis to write in text file but I want to search it in a terminal at the moment.

I found similar question at how to make search a text on the terminal directly which suggests screen command, but I have no idea how screen works in this case. I tried $ screen grails run-app but couldn't move ahead.

I can see screen lists with

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. 
0

6 Answers 6

40

If you use Konsole (KDE terminal emulator), you can use Ctrl + Shift + F. This might work also in other (Linux) terminal emulators; it has been confirmed to work in GNOME Terminal, the Xfce terminal, Alacritty, and Terminator.

4
  • @Augustin where did you find such shortcut? Commented Apr 26, 2021 at 12:55
  • @Rodrigo: See the Konsole Handbook: docs.kde.org/stable5/en/konsole/konsole/…. Alternatively, if you have Konsole on your machine, have a look in the Edit menu – the keyboard shortcut should be listed next to the Find... entry. Commented Apr 28, 2021 at 9:46
  • Working for Mobaxterm[Windows] ... Thanks mate Commented Nov 16, 2021 at 12:12
  • Thanks. This works in the Kali Linux terminal. Commented Oct 11 at 8:56
31

Ctrl+a (default screen command prefix), [ (enter copy mode) followed by ?SEARCH_TEXT seems to work. Press n to go to the next occurrence. From there, you can copy words, lines, regions, etc to dump into files or paste later on (with Ctrl+a, ]).

enter image description here

6
  • 5
    I cannot do this. So you need to press 3 keys at once? ctrl, a, [? Commented Mar 17, 2015 at 10:13
  • 50
    use shift+ctrl+f Commented Jun 3, 2016 at 13:25
  • @Ja8zyjits where did you find such shortcut? Commented Apr 26, 2021 at 12:55
  • @Rodrigo check terminator. I should have made this an answer. Oh, i didnt have enough karma to post answer back then. Commented Apr 26, 2021 at 14:55
  • 1
    This command worked on Terminator Commented Jun 26, 2023 at 19:02
13

You can use grep after the grails command: grails run-app | grep "user authorities". However, you will have to re-run your command.

3
  • 3
    This answer shouldn't be voted down, its absolutely correct. Commented Jun 1, 2015 at 2:22
  • 7
    While correct, it's more useful to have something one can do after the output has already been printed. Commented Sep 27, 2016 at 13:13
  • 3
    @Baron I'm even pretty sure that the asker meant to imply that the command is already running, so this doesn't answer the question. Commented Jan 5, 2018 at 21:44
6

Redirect output of your command to vim-editor: grails run-app | vim -

Several tips for search using Vim:

  • type / then enter your search string user authorities
  • type :set hlsearch to highlight search results
  • type n to search forward or Shift+n to search backward
  • remember you're in editor now, so if you did some changes accidentally you can revert, just press ESC once to exit edit-mode, then press u to undo one edit
  • type :q! to exit Vim and discard your search results
  • you can do whatever you want :-D http://vim.wikia.com/wiki/Vim_Tips_Wiki
0
3

Redirect the output to pipe and send it to a grep command:

grails run-app | grep user authorities 
2

Use Shift+Ctrl+f to search in terminal.

Got this from the comment above by @Ja8zyjits.

This worked for me.

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.