Bash:从多个文本列表中创建CSV文件

时间:2014-02-03 14:27:08

标签: bash csv awk

我有多个文本列表,每个列表代表一列,并且已经按相应的顺序排列。

FirstName.txt:

Bob  
Sarah  
Fred  

LastName.txt

Smith  
Fulton  
Jones  

Gender.txt

Male  
Female  
Male  

Age.txt

23  
28  
31  

在BASH中,如何将相关行拉到一起以形成csv格式的条目,例如..

FirstName,LastName,Gender,Age  
Bob,Smith,Male,23  
Sarah,Fulton,Female,28  
Fred,Jones,Male,31  

提前致谢!

2 个答案:

答案 0 :(得分:6)

您可以使用逗号作为分隔符的paste

$ paste -d',' FirstName.txt LastName.txt gender.txt age.txt
Bob,Smith,Male,23
Sarah,Fulton,Female,28
Fred,Jones,Male,31

来自man paste

  

粘贴 - 合并文件行

     

-d, - delimiters = LIST

     

重用LIST中的字符而不是TAB

答案 1 :(得分:4)

这是为paste定制的工作:

paste -d',' FirstName.txt LastName.txt gender.txt age.txt
Bob,Smith,Male,23
Sarah,Fulton,Female,28
Fred,Jones,Male,31