2つのファイルがあります
ファイル1:
a
b
c
ファイル2:
1
2
3
これらを1つのcsvファイルに結合する必要があります
a;1
b;2
c;3
ファイルは非常に大きいため、2番目のファイルを処理するためにcat
およびsed
を使用するのは避けたいです。 (小さいファイルの場合は、スクリプトを使用できます)。何か案が ? awk
/Perl
?
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]]
}
私もこれを思いつきましたが、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
}
}
}