awk按字符串起始值

时间:2016-04-13 10:00:38

标签: bash csv awk

我想从文件CSV中过滤第2列中以单词“CN”开头的行,并创建仅包含该记录的新CSV文件。

以下是我的csv文件的示例

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

我正在使用awk和这个sintax

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

但是这样我的新文件有1,2,3行,我想要的只有第1,3行

我试图用^以这种方式从字符串的开头过滤

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

但输出文件为null。怎么了?哪种语法正确?

1 个答案:

答案 0 :(得分:0)

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

无需,。您还需要匹配$2而不是$1