2015-10-25 86 views
1

我有一个很大的csv文件,并希望根据类别(CSV文件中的列B)将它拆分为较小的文件。根据列拆分CSV文件

我的CSV文件看起来像这样:

Product  Category 
Printer  Supplies 
我目前使用 awk -F, '{print > ($2".txt")}' input.csv其中工程文件

。这是基于每个类别生成许多文本文件。

我现在想从每个生成的文件删除类别字段(即后删除一切,“逗号”)。

现在,在生成的每个文本文件格式为Product,Category。这应该只成为Product

我试着用cut -d',' -f1 *.txt使用,但这不单独保存结果每个文件。

还有一种方法可以在一行中使用这两个命令吗?或者即使awk根据类别$ 2进行分割,但只打印$ 1?这会节省一些时间。

谢谢。

,但我现在想进入每个删除的类别

回答

0

如果你只希望你的文件,包括每个记录的第一个字段,那么到底该怎么做,你现在正在做,但只打印第一字段:

awk -F, '{print $1 > ($2".txt")}'