我想从文件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。怎么了?哪种语法正确?
答案 0 :(得分:0)
awk -F ";" '$2 ~ /^CN/' $file > $TEMP/$file
无需,
。您还需要匹配$2
而不是$1