我有一个CSV文件,我需要按日期拆分。我尝试使用下面列出的AWK代码(找到elsewhere)。
awk -F"," 'NR>1 {print $0 >> ($1 ".csv"); close($1 ".csv")}' file.csv
我尝试在OS X和Debian的终端内运行它。在这两种情况下都没有错误消息(所以代码似乎运行正常),但也没有输出。没有输出文件,在命令行没有响应。
我的输入文件有大约6k行数据,如下所示:
date,source,count,cost
2013-01-01,by,36,0
2013-01-01,by,42,1.37
2013-01-02,by,7,0.12
2013-01-03,by,11,4.62
我想要的是创建一个包含特定日期所有行的新CSV文件。我在俯瞰什么?
答案 0 :(得分:4)
我已经解决了这个问题。遵循this thread的逻辑,我使用file
命令检查了行结尾,并了解到该文件具有旧式Mac行终止符。我用Text Wrangler打开输入的CSV文件,并用Unix风格的行结尾再次保存。完成后,上面列出的awk
命令按预期工作。创建63个按日期分列的新CSV文件花了大约5秒钟。
答案 1 :(得分:0)
用于使用“;”在日志文件中检索信息。我使用的分隔符:
grep "END SESSION" filename.log | cut -d";" -f2
其中
-d, --delimiter=DELIM use DELIM instead of TAB for field delimiter
-f, --fields=LIST select only these fields; also print any line
that contains no delimiter character, unless
the -s option is specified