我有一个大约2 GB的大型CSV文件,包含7列。我想删除它的第4列,这是一个文本(片段)。我用" cut"命令如:
cut -d,f 4 - 补充文件
但它不会删除列,因为只要在一行中遇到逗号并从该行删除第4列,它就会生成列。在回答here后,我使用了csvquote,如:
csvquote文件| cut -d"," -f 4 - 补充| uniq -c | csvquote -u
它适用于一个小文件,但是为大文件抛出错误:
错误:对于定义的数据类型,值太大
我想知道一些删除大数据文件列的解决方案。感谢。
编辑:头文件输出:
滑稽,USER_ID,REVIEW_ID,文本,business_id,星星,日期,有用的,类型,凉爽 0,WV5XKbgVHJXEgw7f-b6PVA,hhmpSM4LcHQv6noXlYYCgw,"我们找不到这个地方,因为我读到他们有惊人的poutine。值得一游。这真的很神奇。从储存容器中取出,这个地方很时髦。两个巨大的poutine $ 10美元。薯条很脆,很好地保持着奶油状的肉汁。配上一大块吱吱作响的白色奶酪凝乳,这是一顿美味佳肴。
答案 0 :(得分:0)
你是否试过告诉cut使用其他字段呢?
像这样:
trucks | cut -f 1,3- -d , | uniq -c | csvquote/csvquote -u
我在我的机器上测试了它似乎工作。但我没有看到你的数据样本,你也没有注意到哪个程序正在抛出
错误:对于定义的数据类型,值太大