Tente o comando paste
:
paste -d';' File1 File2 > File3
Eu tenho dois arquivos
Arquivo1:
a
b
c
Arquivo2:
1
2
3
agora preciso combiná-los para um arquivo csv
a;1
b;2
c;3
Como os arquivos são realmente grandes, prefiro não usar cat
e sed
para processar o segundo arquivo. (Para arquivos menores, posso usar um script). Qualquer ideia ? awk
/ perl
?
Tente o comando paste
:
paste -d';' File1 File2 > File3
#!/usr/bin/awk -f
{
w[FNR][FILENAME] = $0
}
END {
for (x in w)
print w[x][ARGV[1]] ";" w[x][ARGV[2]]
}
Eu também desenvolvi isso, mas ele falha devido à maneira como o Awk itera as matrizes:
#!/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
}
}
}
Tags merge text-processing csv