将 .csv 文件与每行之间的文本合并

将 .csv 文件与每行之间的文本合并

我有两个(或者更多)文件:

文件1.csv

dog
cats
mouse

文件2.csv

001a
002a
003c

如果我使用paste file1.csv file2.csv输出是

dog 001a
cats    002a
mouse   003c

我当然可以使用paste -d , file1.csv file2.csv

dog,001a
cats,002a
mouse,003c

但我想要这个输出

TEXT1-dog-TEXT2-001a-TEXT3
TEXT1-cats-TEXT2-002a-TEXT3
TEXT1-mouse-TEXT2-003c-TEXT3

有没有办法将多个 .csv 文件与每行之前、之间和之后的额外文本放在一起?

答案1

基于您目前所拥有的 KISS 解决方案:

paste -d, file1.csv file2.csv | awk -F, '{print "TEXT1-" $1 "-TEXT2-" $2 "-TEXT3"}'

或者

paste -d, file1.csv file2.csv | awk -F, '{print "TEXT1", $1, "TEXT2", $2, "TEXT3"}' OFS=-

(如果你想使 TEXTs 变量可能更方便)。

相关内容