我有以下輸入文件,我需要根據列放置過濾器。找到匹配時打印標題,否則不要打印標題。
cat test
------------------------------------------------------------------------------------------
Client-code ID BONUS Availability Offer Credit
------------------------------------------------------------------------------------------
BLAB-LO.AJBdLODikNcpok SK-19 0 AVAILABLE OFFERED NA
BLAB-LO.AJBluDikNcpok SK-1 0 AVAILABLE OFFERED NA
BLAB-LO.AJDaLAgNEp SK-19 0 AVAILABLE OFFERED NA
BLAB-LO.AJDaLDikNcpok SK-1 0 AVAILABLE OFFERED NA
BLAB-LO.AJDbLOAgNEp SK-19 0 AVAILABLE OFFERED NA
BLAB-LO.AJDbLODikNcpok SK-19 0 AVAILABLE OFFERED NA
BLAB-LO.AJHbmLO SK-1 0 AVAILABLE OFFERED NA
BLAB-LO.AJAcLOBollNcpok SK-19 0 AVAILABLE OFFERED NA
BLAB-LO.AJAcLOApkNamNk SK-19 0 AVAILABLE OFFERED NA
KONEAAO SK-19 0 AVAILABLE OFFERED NA
BLAB-LO.AJHbmLO SK-11 0 AVAILABLE OFFERED NA
BLAB-LO.AJAcLOBollNcpok SK-1 0 AVAILABLE OFFERED NA
BLAB-LO.AJAcLOApkNamNk SK-10 0 AVAILABLE OFFERED NA
在這裏,我把第二列過濾器,用平等,而不是正則表達式的基礎上,this 。
awk -v userInput='SK-1' 'NR<4 || $2 == userInput' test
------------------------------------------------------------------------------------------
Client-code ID BONUS Availibility Offer Credit
------------------------------------------------------------------------------------------
BLAB-LO.AJBluDikNcpok SK-1 0 AVAILABLE OFFERED NA
BLAB-LO.AJDaLDikNcpok SK-1 0 AVAILABLE OFFERED NA
BLAB-LO.AJHbmLO SK-1 0 AVAILABLE OFFERED NA
BLAB-LO.AJAcLOBollNcpok SK-1 0 AVAILABLE OFFERED NA
這個效果很好,如果有任何匹配,但是,如果沒有匹配,我會得到空頭。我想擺脫標題行。 (前三行)。
這是不期望的。
awk -v userInput='SK-122' 'NR<4 || $2 == userInput' test
------------------------------------------------------------------------------------------
Client-code ID BONUS Availibility Offer Credit
------------------------------------------------------------------------------------------
期望:
當沒有比賽,我需要得到:空白或沒有找到匹配的消息。
awk -v userInput='SK-122' 'NR<4 || $2 == userInput' test