检查CSV文件内容并将其拆分为2个单独的文件

时间:2018-02-23 09:04:46

标签: javascript node.js bash csv awk

我有一个csv文件,如下所示:

Docushare Host
locale, created_at, version
en,Wed Feb 21 17:25:36 UTC 2018,07.00.00.C1.609

User
handle, client_data, docCountQuota
User-12,,-2

Document
handle,client_data,cfSpecialWords
Document-13,x,y
Document-14,z,a
Document-11,ab,cd

Collection
handle,client_data,routing_template
Collection-1,asdsad,asdad
Collection-2,xyz, abc
Collection-3,xada, adsad

是否有更快的方法来拆分此CSV并为以下内容生成两个单独的文件:

 Document-13,x,y
 Document-14, z, a
 Document-15, ab, cd

 Collection-1,asdsad,asdad
 Collection-2,xyz, abc
 Collection-3,xada, adsad

这两个文件将用于nodejs应用程序,该应用程序将再次解析它以创建具有所需字段的最终CSV。

谢谢你们。

1 个答案:

答案 0 :(得分:1)

关注简单awk可能对您有所帮助:

awk -F, '/^Document-/ && NF>1{print > "Document.csv";next} /^Collection/ && NF>1{print > "Collection.csv"}'   Input_file

现在添加一种非单线形式的解决方案:

awk -F, '
/^Document-/ && NF>1{
  print > "Document.csv";
  next
}
/^Collection/ && NF>1{
  print > "Collection.csv"
}
'   Input_file

作为输出,它将创建2个名为Document.csvCollection.csv的输出文件,其内容将与您显示的相同。