【发布时间】:2017-08-17 13:25:33
【问题描述】:
我有一个结构异常的文件,我试图根据填充的第一列 ($1) 将其拆分为多个文件。本质上,它是文件每个“部分”的标题。
该列也没有任何模式,因此 random_text_1 和 random_text_2 作为列名,所以我不能使用模式匹配...
示例文件...
random_text_1,col_2,col_3,col_4,col_5
,1,a,"1, a",abc
,2,,"2",abc
,3,c,"3,c",def
random_text2,col_2,col_3,col_4,col_5
,1,x,"2, x",abcdef
,2,,"2",abcdef
,3,y,"3,y",defefg
我想将文件拆分为“块”,即,
一个文件将是......
random_text_1,col_2,col_3,col_4,col_5
,1,a,"1, a",abc
,2,,"2",abc
,3,c,"3,c",def
还有一个……
random_text2,col_2,col_3,col_4,col_5
,1,x,"2, x",abcdef
,2,,"2",abcdef
,3,y,"3,y",defefg
如果我这样做,它会拆分文件,但只会给我删除“标题”的内容,如果我这样做 $1!="" 它只会给我单独文件中的标题...
awk 'BEGIN { OFS = ","; FPAT = "([^" OFS "]*)|(\"[^\"]+\")"} $1=="" { print $0 > "output-file" $1 } ' test-file.csv
【问题讨论】:
标签: awk