我有两个文件
文件1:
a
b
c
文件2:
1
2
3
现在我需要将它们合并到一个 csv 文件中
a;1
b;2
c;3
由于文件确实很大,我宁愿不使用cat
和sed
处理第二个文件。 (对于较小的文件,我可以使用脚本)。任何想法 ?awk
/ perl
?
答案1
尝试paste
命令 :
paste -d';' File1 File2 > File3
答案2
#!/usr/bin/awk -f
{
w[FNR][FILENAME] = $0
}
END {
for (x in w)
print w[x][ARGV[1]] ";" w[x][ARGV[2]]
}
我也想出了这个,但由于 Awk 迭代数组的方式而失败:
#!/usr/bin/awk -f
{
w[FNR][FILENAME] = $0
}
END {
for (x in w) {
y = 0
for (z in w[x]) {
printf w[x][z]
printf y ? "\n" : ";"
y = 1
}
}
}