Мне нужно найти ключевое слово с помощью 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;
достаточно.