使用shell从不同的文本文件中写入列

时间:2013-03-18 21:11:05

标签: linux shell

我在编写shell脚本以生成txt文件时遇到了麻烦 它将包含一个txt文件中的一列,以及来自的其他列 一个不同的txt文件。

有人可以帮我吗?

感谢。

3 个答案:

答案 0 :(得分:1)

您应该检查join命令。看这个description

答案 1 :(得分:1)

如果您需要解析不同输入文件中的不同列,则有一种方法:

paste <(cut -d " " -f1 file1) <(cut -d " " -f2 file2) 

paste <(awk -F, '{print $1}' file1) <(awk -F, '{print $2}' file2) 

您的问题有点模糊,因此我假设这些字段由cut的空格和,中的awk分隔。

答案 2 :(得分:1)

假设您要加入file1file2的整行,请使用paste

% cat file1 
A
B
C
% cat file2 
1
2
3
% paste file1 file2 
A  1
B  2
C  3

现在,如果您在每个文件中都有列(在此示例中以逗号分隔),则要加入file1.col1file2.col2,其中

% cat file1 
A,***
B,***
C,***
% cat file2 
***,1
***,2
***,3

DO

%paste  <(cut -d "," -f1 file1)  <(cut -d "," -f2 file2)
A  1
B  2
C  3