Saya perlu mencari kata kunci menggunakan awk, tetapi saya ingin melakukan pencarian case-insensitive (non case sensitive).
Saya pikir pendekatan terbaik adalah dengan menggunakan huruf besar istilah pencarian ("kata kunci") dan baris target yang dibaca awk pada saat yang sama. Dari pertanyaan ini saya bagaimana menggunakan toupper
untuk mencetak dalam semua huruf besar, tetapi saya tidak tahu bagaimana menggunakannya dalam pertandingan karena jawaban itu hanya menunjukkan pencetakan dan tidak meninggalkan teks huruf besar dalam variabel.
Berikut ini adalah contoh, diberikan input ini:
blablabla
&&&Key Word&&&
I want all
these text and numbers 123
and chars !"£$%&
as output
&&&KEY WORD&&&
blablabla
Saya ingin output ini:
I want all
these text and numbers 123
and chars !"£$%&
as output
Ini yang saya miliki, tetapi saya tidak tahu cara menambahkan toupper
:
awk "BEGIN {p=0}; /&&&key word&&&/ { p = ! p ; next } ; p { print }" text.txt
awk 'toupper($0)~/&&&KEY WORD&&&/ { p = ! p ; next } ; p;' text.txt
. Tidak perlu untukBEGIN
blok dan karena tindakan default adalah untuk mencetak,p;
sudah cukup.