如何在linux中合​​并2个文件

时间:2015-05-12 07:20:20

标签: linux awk

我有 文件1:

line1
line2
line3
....

文件2:

date1
date2
date3
...

,结果应为:

line1, date1
line2, date2
line3, date3
...

使用awk(我认为)在linux上有办法在命令行上完成这项工作吗? 非常感谢

3 个答案:

答案 0 :(得分:4)

paste命令将执行:

paste -d, file1 file2

答案 1 :(得分:1)

您可以使用awk

awk 'FNR==NR {a[NR]=$0;next} {print a[FNR]", "$0}' file1 file2
line1, date1
line2, date2
line3, date3
...., ...
阅读第一个文件FNR==NR {a[NR]=$0;next}

fil1,将其存储在数组a{print a[FNR]", "$0}使用行号作为索引和来自a

的数据打印出数组file2

答案 2 :(得分:0)

我希望这能解决您的疑问。 根据您的要求调整此代码。

 paste <(awk 'BEGIN { FS=":";OFS="\t";ORS="\n\n"} { print $1 } END{}' file1.txt) <(awk 'BEGIN { FS=":";OFS="\t";ORS="\n\n"} { print $1 } END{}' file2.txt) >file3.txt