У меня есть этот скрипт, который принимает значение переменной $ userId как входной & использует его ниже awk
.как использовать 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
но не работает .. не могли бы вы помочь мне в этом?
[Это суперпользователя ответ] (http://superuser.com/a/349119/347185), кажется, что вы ищете? –
Привет .. Я добавил дополнительную информацию в исходный вопрос .. – Ankur