3

我有一个需要按日期拆分的 CSV 文件。我尝试使用下面列出的 AWK 代码(在其他地方找到)。

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 文件,其中包含特定日期的所有行。我在看什么?

4

2 回答 2

5

我已经解决了这个问题。按照这个线程的逻辑,我用命令检查了我的行尾,file并了解到该文件具有旧式 Mac 行终止符。我用 Text Wrangler 打开了我的输入 CSV 文件,并用 Unix 风格的行结尾再次保存了它。一旦我这样做了,awk上面列出的命令就会按预期工作。创建 63 个按日期划分的新 CSV 文件大约需要 5 秒。

于 2013-03-15T20:07:59.253 回答
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
于 2018-06-28T15:21:27.793 回答