concat多个文件并将文件名添加到bash中的每一行

时间:2017-08-16 12:06:22

标签: bash csv concatenation

有多个文件:

1.csv
2.csv
...

使用一些通用内容,如:

[1.csv]
a
b
c

[2.csv]
d
e
f

我想将文件的内容连接到一个文件中,但每行都有文件名。所以结果看起来应该是这样的:

[concatenated.csv]
1.csv;a
1.csv;b
1.csv;c
2.csv;d
2.csv;e
2.csv;f

1 个答案:

答案 0 :(得分:5)

您可以使用awk

awk -v OFS=';' '{print FILENAME, $0}' *.csv

1.csv;a
1.csv;b
1.csv;c
2.csv;d
2.csv;e
2.csv;f