Мені потрібно шукати ключове слово за допомогою awk, але я хочу здійснити нечутливий до регістру (не залежно від регістру) пошук.
Я думаю, що найкращим підходом є використання великої величини як пошукового терміна ("ключове слово"), так і цільового рядка, який awk читає одночасно. Із цього запитання я toupper
дізнаюся, як використовувати для друку в усіх великих літерах, але я не знаю, як його використовувати в збігу, оскільки ця відповідь просто показує друк і не залишає верхнього тексту в змінній.
Ось приклад, враховуючи цей вхід:
blablabla
&&&Key Word&&&
I want all
these text and numbers 123
and chars !"£$%&
as output
&&&KEY WORD&&&
blablabla
Я хотів би такий результат:
I want all
these text and numbers 123
and chars !"£$%&
as output
Це те, що у мене є, але я не знаю, як додати 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
. УBEGIN
блоці немає необхідності, і оскільки дія за замовчуванням - це друк,p;
достатньо.