簡體   English   中英

使用awk按列拆分CSV文件

[英]Using awk to split CSV file by column

我有一個CSV文件,需要按日期拆分。 我嘗試使用下面列出的AWK代碼(在其他位置找到)。

awk -F"," 'NR>1 {print $0 >> ($1 ".csv"); close($1 ".csv")}' file.csv

我試過在OS X和Debian的終端中運行它。 在兩種情況下都沒有錯誤消息(因此代碼似乎可以正常運行),但是也沒有輸出。 沒有輸出文件,並且在命令行沒有響應。

我的輸入文件有大約6000行數據,如下所示:

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

我已經解決了 按照該線程的邏輯,我使用file命令檢查了行尾,並得知該文件具有舊式的Mac行終止符。 我使用Text Wrangler打開了輸入的CSV文件,並再次使用Unix樣式行結尾將其保存。 一旦這樣做,上面列出的awk命令就會按預期工作。 創建日期前后划分的63個新CSV文件花費了大約5秒鍾。

用於使用“;”在日志文件中檢索信息。 我使用的分隔符:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM