Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File 按日期列值拆分文件_File_Date_Csv_Awk_Split - Fatal编程技术网

File 按日期列值拆分文件

File 按日期列值拆分文件,file,date,csv,awk,split,File,Date,Csv,Awk,Split,我有一个csv文件,有89列,它包含多个数据日期。日期列是第59列。日期格式为mm/dd/yy。我想要实现的是创建一个带有mmddyyyy.csv的文件,这样每个文件只包含一个数据日期 到目前为止,我的方法是 从文件中获取所有不同的日期 对于每个不同的日期 grep [date value] file > mmddyyyy.csv 上述解决方案的唯一缺点是,如果行中的任何位置存在[date value],它将被拾取,我可能会在两个或多个文件中得到一条记录 我知道对于单个值(字符串/数字

我有一个csv文件,有89列,它包含多个数据日期。日期列是第59列。日期格式为
mm/dd/yy
。我想要实现的是创建一个带有
mmddyyyy.csv
的文件,这样每个文件只包含一个数据日期

到目前为止,我的方法是

  • 从文件中获取所有不同的日期
  • 对于每个不同的日期

    grep [date value] file > mmddyyyy.csv
    
  • 上述解决方案的唯一缺点是,如果行中的任何位置存在
    [date value]
    ,它将被拾取,我可能会在两个或多个文件中得到一条记录

    我知道对于单个值(字符串/数字),awk可以像

    awk -F"\t" '{print >> ($14".csv");}' $1
    

    听起来你需要的只是:

    awk -F, '{split($59,t,"/"); print > (t[1] t[2] "20" t[3] ".csv")}' file
    

    但如果没有样本输入和预期输出,这只是猜测。如果您没有使用GNU awk,您可能需要在适当的时候加入一个
    close()
    ,以避免同时打开太多文件。

    听起来您需要的只是:

    awk -F, '{split($59,t,"/"); print > (t[1] t[2] "20" t[3] ".csv")}' file
    
    但如果没有样本输入和预期输出,这只是猜测。如果您没有使用GNU awk,您可能需要在适当的时候加入一个
    close()
    ,以避免同时打开太多文件