Apakah ada perintah yang menyoroti ekspresi tertentu dalam teks?
Saya mencari sesuatu seperti fungsi 'pencarian' dalam waktu kurang, tetapi dengan output teks normal pada stdout, bukan less
penampil.
Contoh:
$ cat test.txt | highlight "an"
Prospek untuk sebuah penarikan NATO teratur dari Afgh sebuah ist sebuah menderita dua kemunduran sebagai Presiden Hamid Karzai dem sebuah batas ded terhadap pasukan Amerika Serikat yang d Thalib sebuah dihentikan pembicaraan damai.
Itu bisa menggunakan warna atau cara lain untuk menyorot ekspresi reguler yang ditentukan.
bash
highlighting
jujur
sumber
sumber
highlight
perintahJawaban:
Tidak yakin apakah ini karena fitur atau hanya beberapa efek samping tersembunyi, tetapi ini berfungsi di GNU
grep
2.11:sumber
grep 'an' OR ''
. The''
berhasil pertandingan tidak ada di setiap lokasi di input. Hanya yangan
disorot, karena Anda tidak dapat menyorot apa pun. :-)grep --color -e 'an' -e ' '
(cocok untuk ruang, yang tidak dapat diwarnai melakukan trik). Jauh lebih baik daripada perpipaansed -e ''/an/s//$(printf "\033[33;1m&\033[0m")/''
, tapi mungkin yang terakhir lebih performan. Ubah 'an' untuk istilah pencarian lain. ;)bashrc
alias, dan sekarang semua alias saya disorot dengan warna merah. Super!alias aliases="clear;cat ~/.bashrc|grep --color \"alias\""
ack memiliki
--passthru
opsi yang akan melakukan ini:sumber
ack-grep
... (namaack
tersebut diterapkan pada konverter kode Kanji)Anda dapat mencoba skrip saya ini. Ini akan membiarkan Anda menentukan file atau mengambil input standar. Anda bisa mendefinisikan ekspresi reguler Python untuk teks yang ingin Anda sorot. default teks yang disorot menjadi hijau neon (hei saya menggunakan latar belakang hitam!) Tapi Anda dapat mengubah kode warna ANSI .
Ini sebuah contoh.
Prospek untuk sebuah penarikan NATO teratur dari Afgh sebuah ist sebuah menderita dua kemunduran sebagai Presiden Hamid Karzai dem sebuah batas ded terhadap pasukan Amerika Serikat yang d Thalib sebuah dihentikan pembicaraan damai.
Prospek untuk penarikan NATO secara teratur dari Afghanistan mengalami dua kemunduran karena Presiden Hamid Karzai menuntut batasan pasukan Amerika Serikat dan Taliban menghentikan pembicaraan damai.
sumber
<b>
jika Anda perlu menebalkan bagian kata.$cat test.txt | grep --colour=auto -C 100000 an
"warna" juga berfungsi. Anda juga dapat menetapkan alias untuk membuat grep selalu menggunakan opsi:
alias grep='grep --colour=auto -C 100000'
Letakkan di atas di /etc/profile.d/ di suatu tempat atau .bashrc Anda atau apa pun.
sumber
-C 1000000
Anda tidak akan pernah bisa grep lagi. Lakukan sajaalias highlight='grep --colour=auto -C 1000000'. The cat in the first example is also not necessary:
grep --colour = auto -C 100000 file`.grep
menangani koleksi garis konteks.)