通过使用Unix文件中的唯一列拆分为多个文件

时间:2019-07-13 16:10:05

标签: unix

我需要使用唯一列(前三个是唯一列)将文件(sample.csv)下的文件拆分为多个文件

sample.csv

123|22|56789|ABCDEF|12AB34|2019-07-10|2019-07-10|443.3400|1|1
123|12|5679|BCDEFG|34CD56|2019-07-10|2019-07-10|896.7200|1|2
123|12|5679|CDEFGH|45DE67|2019-07-10|2019-07-10|680.9200|1|1
123|22|56789|DEFGHI|56EF78|2019-07-10|2019-07-10|405.8800|1|2

所需的输出文件应如下

sample_123_22_56789.csv

ABCDEF|12AB34|2019-07-10|2019-07-10|443.3400|1|1
DEFGHI|56EF78|2019-07-10|2019-07-10|405.8800|1|2

sample_123_12_5679.csv

BCDEFG|34CD56|2019-07-10|2019-07-10|896.7200|1|2
CDEFGH|45DE67|2019-07-10|2019-07-10|680.9200|1|1

我正在使用下面的命令,它正在工作,但想使其通用,而不是硬编码$4"|"$5"|"$6"|"$7"|"$8"|"$9"|"$10

awk -F\| '{print $4"|"$5"|"$6"|"$7"|"$8"|"$9"|"$10 > "sample_"$1"_"$2"_"$3".CSV"}' sample.csv

谢谢。

0 个答案:

没有答案