2016-07-21 27 views
0

我如何用awk篩選列?過濾使用awk柱+ if語句不工作

這是alll列:

$ awk -F'|' 'NR==1{print $7} NR>1{print $7;}' head_datafile_pipe_deleimiter.csv 
"Product_Description" 
"PREPAY PLUS - $0 -" 
"$39.95 Plan" 
"$69.95 Plan" 
"$29.95 Carryover Plan 1GB" 
"PREPAY PLUS - $0 -" 
"$19 CO COMBO - NOT RECURRENT" 
"$39.95 Plan" 
"PREPAY PLUS - $1 - #33" 
"PREPAY PLUS - $0 -" 

現在我只是想表明這個"PREPAY PLUS - $0 -"線,但我如果OES似乎並不奏效。 如何讓它工作?

$ awk -F'|' 'NR==1{print $7} NR>1{if($7=="PREPAY PLUS - $0 -") print $7;}' head_datafile_pipe_deleimiter.csv 
"Product_Description" 
+1

我認爲雙引號缺失。 –

+0

試過,但沒有喜悅'$ awk的-F '|' 'NR == 1 {打印$ 7} NR> 1 {如果($ 7 == 「」 預付款PLUS - $ 0 - 「」)打印$ 7;}' head_datafile_pipe_deleimiter.csv 「PRODUCT_DESCRIPTION」'我知道它是沿着這些路線的東西。 – HattrickNZ

+0

您可以張貼樣本文件輸入,你希望..可能是一個簡單的'grep'命令就足夠 – Sundeep

回答

1
$ awk -F'|' -v dq='"' 'NR==1{print $7} NR>1{if($1==dq"PREPAY PLUS - $0 -"dq) print $7;}' test.in 
"Product_Description" 
"PREPAY PLUS - $0 -" 
"PREPAY PLUS - $0 -" 
"PREPAY PLUS - $0 -" 
+0

TKS就是這樣'awk的-F樣本輸出「|」 -v DQ = '「' NR == 1 {打印$ 7} NR> 1 {如果($ 7 == DQ 」預付款PLUS - $ 0 - 「 DQ)打印$ 7;}」head_datafile_pipe_deleimiter.csv 「PRODUCT_DESCRIPTION」 「預付款PLUS - $ 0 - 」 「預付款PLUS - $ 0 - 」 「預付款PLUS - $ 0 - 」 ' – HattrickNZ