Muszę wyszukać słowo kluczowe za pomocą awk, ale chcę przeprowadzić wyszukiwanie bez rozróżniania wielkości liter (bez rozróżniania wielkości liter).
Myślę, że najlepszym podejściem jest pisanie wielkimi literami zarówno wyszukiwanego terminu („słowo kluczowe”), jak i linii docelowej, którą odczytuje awk w tym samym czasie. Z tego pytania , jak używać toupper
drukowania wielkimi literami, ale nie wiem, jak używać go w dopasowaniu, ponieważ ta odpowiedź pokazuje tylko drukowanie i nie pozostawia tekstu wielkiej litery w zmiennej.
Oto przykład, biorąc pod uwagę następujące dane wejściowe:
blablabla
&&&Key Word&&&
I want all
these text and numbers 123
and chars !"£$%&
as output
&&&KEY WORD&&&
blablabla
Chciałbym ten wynik:
I want all
these text and numbers 123
and chars !"£$%&
as output
Oto, co mam, ale nie wiem, jak dodać 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
Blok nie jest potrzebny, a ponieważ domyślną czynnością jest drukowanie,p;
wystarczy.