for i in `cut -d, -f 2 some_file.csv | uniq | tr -d "\""`; do grep -w $i some_file.csv > some_file_$i.csv; done
基本上我现在在Linux工作站上运行它,但是我需要将它传递给使用Windows工作站的非技术人员。即使我不是Windows管理员,也不知道如何在Windows“脚本”中运行它。任何帮助将受到高度赞赏。
答案 0 :(得分:1)
PowerShell支持CSV解析就好了,试试Import-Csv
cmdlet:
Import-Csv some_file.csv -Header 1,2 |Select-Object -ExpandProperty 2 |Sort-Object -Unique
Import-Csv
将解析文件,并发出一个对象(每行),其中包含两个属性:1
和2
,对应于文件中的第一列和第二列。
Select-Object
语句将从2
属性中获取值并丢弃其余值。
Sort-Object -Unique
将对列值进行排序并删除重复项
答案 1 :(得分:1)
在PowerShell中,您可以通过识别字段对记录进行分组并分别导出每个组来拆分CSV:
void Main ()
{
var dict = new Dictionary<string,object>();
dict.Add("ReuestedBy",abc);
var innerDict = new Dictionary<string,object>();
var list = new LIst<Dictionary<string,object>>();
innerDict.Add("UpdatedRecords","45");
innerDict.Add("Id","1");
innerDict.Add("IsValid","False");
dict.Add("Changes",list )
}
请注意,您需要知道该字段的名称。如果您想要按第二个字段进行拆分而不管其名称(我不推荐),您需要先确定该字段的名称。我打算把它作为读者的练习。