web-dev-qa-db-ja.com

端末出力でテキストを検索する

以下のようにターミナルにログインを出力するコマンド$ grails run-appでアプリケーションを実行しています。

search_text_terminal

さらに確認できるように、このログで特定のテキスト(user authoritiesなど)を検索します。 Logging Apisを使用してテキストファイルに書き込む方法の1つですが、現時点ではターミナルで検索したいと考えています。

ターミナルでテキストを直接検索する方法 で同様の質問を見つけましたが、これは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.
35
prayagupd

Ctrl+a (デフォルトscreenコマンド接頭辞)、 [ (copyモードに入ります)の後に?SEARCH_TEXTは動作するようです。押す n 次のオカレンスに移動します。そこから、単語、行、領域などをコピーしてファイルにダンプしたり、後で貼り付けることができます( Ctrl+a、 ])。

enter image description here

25
prayagupd

Konsole(KDE端末エミュレータ)を使用する場合は、 Ctrl + Shift + F。これは他の(Linux)端末エミュレーターでも機能する可能性があります。

編集:
@ sumitは、これがGnome Terminalでも機能すると報告しています。
@ vdicarloは、これがXFCE4ターミナルでも機能すると報告しています。

18
Augustin

grepコマンドの後にgrailsを使用できます:grails run-app | grep "user authorities"。ただし、コマンドを再実行する必要があります。

8
Timo

出力をパイプにリダイレクトし、grepコマンドに送信します。

grails run-app | grep user authorities

コマンドの出力をvim-editorにリダイレクトします:grails run-app | vim -

Vimを使用して検索するためのいくつかのヒント:

  • タイプ/次に検索文字列を入力しますuser authorities
  • タイプ:set hlsearch検索結果を強調表示する
  • nと入力して前方検索するか、Shift+n後方検索
  • エディターにいることを覚えておいてください。誤って変更を加えた場合は、元に戻すことができます。ESCを1回押して編集モードを終了し、uを押して1つの編集を元に戻します
  • タイプ:q! Vimを終了して検索結果を破棄するには
  • あなたがやりたいことが何でもできます:-D http://vim.wikia.com/wiki/Vim_Tip​​s_Wiki
2
graceman9