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

标签 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。

谢谢你们。

最佳答案

遵循简单的 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 的输出文件,其内容与您显示的相同。

关于javascript - 检查 CSV 文件内容并将其拆分为 2 个单独的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48944396/

相关文章:

javascript - 如果 CSS 具有特殊值(value),请不要执行 jQuery 脚本

javascript - 使用 Url 中的哈希值重新加载页面 (F5)

linux - 如何提取字符串开头的一部分?

java - Linux 和 Java - 从 Java 命令行拒绝进程

javascript - 为什么 Array#map 不返回正确的数组?

与 Matlab 函数 : Polyfit/Polyval? 等效的 Javascript 函数

javascript - 将请求/响应存储到 Node JS Express 中的数据库表中

javascript - 仅当条件为真时才执行另一个异步函数之前执行某些异步函数的最佳方法?

javascript - Grunt 发行版不包含 node_modules

mysql - Amazon RDS 内存不足