我的数据文件如下:
name,age,quote,children
Mary,50,Love For All, Hatred For None.,3
John,61,I think, therefore, I am,2
June,42,You're braver than you believe, and stronger than you seem, and smarter than you think,1
我想将children > 1 的行提取到output.txt。但是,我无法真正指定列 $4,因为列中有逗号quote
。
我应该如何处理这个问题?我已经尝试过了awk -F, '$-1 > 1' data > output.txt
,但它不像 python/java 那样读取 $-1 。
答案1
在 awk 中,最后一个字段值可以根据字段分隔符通过$NF
、倒数第二个等访问。$(NF-1)
所以你需要
awk -F, '$NF > 1' data
另外,不要忘记首先修复生成无效 .csv 文件的源程序。