【发布时间】:2021-03-22 09:19:36
【问题描述】:
我有以下 csv 文件
238013750030646-2;;"Default";"2020-10-01 00:40:36";;"opening";0;3591911;283940640
238013750030646-2;;"Default";"2020-10-03 00:40:36";;"closing line";0;89320;283940640
238013750030646-2;;"something-else";"2020-10-04 00:40:36";;"started";0;0;283940640
238013750030646-2;;"default else";"2020-10-08 05:42:06";;"opening";0;2410;283940640
我试图将每一行存储在与每一行的日期匹配的特定文件中,日期在每行的第 4 列,所以第一行 ("2020-10-01 00:40:36") 应该在 output-01.csv 中,第二行在output-03.csv等
这个 awk 命令
awk -F";|-" -vOFS='\t' '{print > "output-"$7".csv"}' testing.csv
由于第 3 列中的 -,一半工作但在第 3 行失败,由于第 3 列中的 ,第 4 行失败 - 这会产生 output-10.csv
有没有办法两次运行 awk 命令?然后我可以使用; 分隔符提取日期,然后使用- 进行拆分
【问题讨论】:
-
能否请您在
238013750030646-2;;"Default";"2020-10-01 00:40:36";;"opening";0;3591911;283940640线上解释一下您要提取的确切数字?抱歉,不清楚您是说应该是output-01,所以如果您能简单地突出显示您想要的字段,那就太好了,谢谢。 -
@RavinderSingh13 我已经更新了问题,抱歉
-
@tripleee 我确实看到了那个问题,但是我需要存储整行,并且无法使用该问题的建议答案来解决问题
-
有几个类似的重复项。如果您有包含结构化信息的字段,我的建议是在顶层使用单个分隔符,然后在辅助分隔符上使用
split。
标签: awk