Linux

如何在csv文件上水平合併文本文件?

  • September 15, 2022

我有幾個包含不同值的文本文件。我想將所有這些文件水平合併在一起並輸出一個 csv 文件。

文件.1.txt

1
2
3
4
5
.
.
.

文件_2.txt

1 
2
6
7
8
.
.
.

Desired_output.csv

11 . . .
22
36
47
58
..
..
..

最好的,

paste(1)可以這樣做:

$ cat letters
a
b
c
$ cat numbers
1
2
3
4
% paste -d , letters numbers
a,1
b,2
c,3
,4

嗯,你說你想要 CSV,但你的輸出顯示所有列都被平滑在一起,這不是很像 CSV。paste(1)做無分隔符的事情也有麻煩。也有,lam(1)但可能不是標準的。

$ paste -d '' letters numbers
paste: no delimiters specified
$ lam letters numbers
a1
b2
c3
4

,如果欄位可以包含字元,則 CSV 將需要更複雜的內容…

引用自:https://unix.stackexchange.com/questions/717446