簡體   English   中英

如何使用awk匹配完整的單詞

[英]how to use awk to match the complete word

我有這個腳本,它將變量$ userId的值作為輸入並在下面的awk命令中使用它。

gzip -cd "input.csv.gz"|/usr/xpg4/bin/awk -v search="$userId" -F, 'BEGIN{ OFS=","} { if( match($4, search)) print $0 }' >>$outputFileNameUser

input.csv.gz的格式如下:

gzip -cd input.csv.gz|head -4
Circle,Date,Time,SubscriberId,OperatorId,VoucherNumber,Status
UPE,01-JUN-15,20:23:39,9936596081,,1161504025632821,Used
UPE,01-JUN-15,20:23:39,7755802655,,1161504038349788,Used
UPE,01-JUN-15,20:23:39,9793948511,,1161504027670339,Used

這個awk命令匹配輸入文件的第4個字段(即SubscriberId)和變量$ UserId。 在第一行$ 4的值是9936596081.所以即使我提供“6596”(這是9936596081的一部分)為$ UserId它將匹配第一行。 我想匹配完整的號碼(9936596081)而不是數字的任何部分..我試過這樣的..

gzip -cd "${outputFileName}"|/usr/xpg4/bin/awk -v search="$userId" -F, 'BEGIN{ OFS=","} { if( $4 ==  "search")) print $0 }' >>$outputFileNameUser

但沒有用..你能幫幫我嗎?

試試這樣:

awk -v search="$userId" -F, '$4==search'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM