Tôi cần tìm kiếm một từ khóa bằng awk, nhưng tôi muốn thực hiện tìm kiếm không phân biệt chữ hoa chữ thường (không phân biệt chữ hoa chữ thường).
Tôi nghĩ cách tiếp cận tốt nhất là viết hoa cả cụm từ tìm kiếm ("từ khóa") và dòng mục tiêu mà awk đang đọc cùng một lúc. Từ câu hỏi này, tôi làm thế nào để sử dụng toupper
để in tất cả chữ hoa, nhưng tôi không biết cách sử dụng nó trong một trận đấu vì câu trả lời đó chỉ hiển thị in và không để lại văn bản chữ hoa trong một biến.
Đây là một ví dụ, được đưa ra đầu vào này:
blablabla
&&&Key Word&&&
I want all
these text and numbers 123
and chars !"£$%&
as output
&&&KEY WORD&&&
blablabla
Tôi muốn đầu ra này:
I want all
these text and numbers 123
and chars !"£$%&
as output
Đây là những gì tôi có, nhưng tôi không biết cách thêm vào 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
. Không cầnBEGIN
khối và vì hành động mặc định là in,p;
là đủ.