2016-04-13 37 views
0

我想从文件CSV中筛选出第2列中以字“CN”开头的行,并创建一个仅包含该记录的新CSV文件。通过字符串起始值的Awk过滤器csv

这里是

1;CN02BL00100000948999;;; 
2;R30011781FUL1A60131PLCN1G34CN800166C0S00009C6UCB;;; 
3;CN02BL00100000948569;;; 
4;R 30011781FUL1A60131PLFG1G3BCC800625C0S00009C6UCB;;; 

我用awk这个sintax

awk -F ";", '$1 ~ /CN/' $file > $TEMP/$file 

但这种方式我的新文件排1,2,3,什么我的CSV文件的示例我想只排1,3

我tryed使用^从字符串的开头这样

过滤

但输出文件为空。哪里不对?这是正确的语法?

回答

0
awk -F ";" '$2 ~ /^CN/' $file > $TEMP/$file 

不需要,。并且你还需要匹配$2不是$1

+0

谢谢你的作品!我知道这是愚蠢的,并不确定约1美元2美元(两种都尝试过),但真正的问题是逗号... –