cari teks pada output terminal


33

Saya menjalankan aplikasi dengan perintah $ grails run-appyang mencetak terminal masuk seperti di bawah ini.

search_text_terminal

Yang saya inginkan adalah mencari teks tertentu (katakanlah user authorities) di log ini sehingga saya dapat memverifikasi lebih lanjut. Salah satu cara menggunakan Logging Apis untuk menulis dalam file teks tapi saya ingin mencarinya di terminal saat ini.

Saya menemukan pertanyaan serupa tentang cara melakukan pencarian teks di terminal secara langsung yang menunjukkan screenperintah, tetapi saya tidak tahu bagaimana cara screenkerjanya dalam kasus ini. Saya mencoba $ screen grails run-app tetapi tidak bisa bergerak maju.

Saya dapat melihat daftar layar dengan

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.

Namun Anda menggunakan perintah layar, tetapi saya sugggest tinggalkan dan gunakantmux
PersianGulf

@MohsenPahlevanzadeh, Tentu saya akan mencoba tmuxjuga. Mendengar itu banyak.
prayagupd

Jawaban:


23

Ctrl+a( screenawalan perintah default ), [(masuk copymode) diikuti oleh ?SEARCH_TEXTtampaknya berfungsi. Tekan nuntuk pergi ke kejadian berikutnya. Dari sana, Anda dapat menyalin kata, baris, wilayah, dll untuk dibuang ke file atau tempel nanti (dengan Ctrl+a, ]).

masukkan deskripsi gambar di sini


5
Saya tidak bisa melakukan ini. Jadi, Anda perlu menekan 3 tombol sekaligus? ctrl, a, [?
Capaj

34
useshift+ctrl+f
Ja8zyjits

15

Jika Anda menggunakan Konsole (emulator terminal KDE), Anda dapat menggunakan Ctrl+ Shift+ F. Ini mungkin bekerja juga di emulator terminal (Linux) lainnya.

Sunting:
@ laporan melaporkan ini berfungsi juga di Terminal Gnome .
@vdicarlo melaporkan ini juga berfungsi di Terminal XFCE4 .


1
Ini berfungsi di emulator terminal GNOME juga.
Sumit

Bekerja terminator. Terima kasih!
ryanjdillon

8

Anda dapat menggunakan grepsetelah grailsperintah: grails run-app | grep "user authorities". Namun, Anda harus menjalankan kembali perintah Anda.


3
Jawaban ini tidak boleh ditolak, itu benar sekali.
amrx

2
Meskipun benar, lebih bermanfaat memiliki sesuatu yang dapat dilakukan setelah hasilnya telah dicetak.
Ludwik

@ Harun Aku bahkan cukup yakin bahwa si penanya bermaksud menyiratkan bahwa perintah sudah berjalan, jadi ini tidak menjawab pertanyaan.
Tidak ada yang


1

Redirect output dari perintah Anda ke vim-editor: grails run-app | vim -

Beberapa tips untuk pencarian menggunakan Vim:

  • ketik /lalu masukkan string pencarian Andauser authorities
  • ketik :set hlsearchuntuk menyorot hasil pencarian
  • ketik nuntuk mencari maju atau Shift+nuntuk mencari mundur
  • ingat Anda berada di editor sekarang, jadi jika Anda melakukan beberapa perubahan secara tidak sengaja Anda dapat kembali, cukup tekan ESCsekali untuk keluar dari mode edit, lalu tekan uuntuk membatalkan satu edit
  • ketik :q!untuk keluar dari Vim dan buang hasil pencarian Anda
  • Anda dapat melakukan apa pun yang Anda inginkan :-D http://vim.wikia.com/wiki/Vim_Tips_Wiki

belajar sesuatu!
oneindelijk
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.