我有一个包含89列的csv文件,它包含多个数据日期。日期列是第59列。日期格式为mm/dd/yy
。我想要实现的是创建一个mmddyyyy.csv
的文件,因此每个文件只包含一个数据日期。
到目前为止,我的方法是
对于每个不同的日期
grep [date value] file > mmddyyyy.csv
上述解决方案的唯一缺点是,如果[date value]
存在于该行的任何位置,它将被拾取并且我可能最终会在两个或更多文件中存储一条记录。
我知道单个值(字符串/数字)awk可以像
那样直接进行awk -F"\t" '{print >> ($14".csv");}' $1
答案 0 :(得分:1)
听起来你只需要:
awk -F, '{split($59,t,"/"); print > (t[1] t[2] "20" t[3] ".csv")}' file
但没有样本输入和预期输出,这是一个猜测。如果你没有使用GNU awk,你可能需要在适当的时候输入close()
以避免同时打开太多文件。