我在尝试编写一个 shell 脚本来生成一个 txt 文件时遇到了麻烦,该文件将包含来自一个 txt 文件的一列,以及来自不同 txt 文件的另一列。
有人可以帮我吗?
谢谢。
你应该检查join
命令。看这个描述
如果您需要解析来自不同输入文件的不同列,一种方法是:
paste <(cut -d " " -f1 file1) <(cut -d " " -f2 file2)
或使用awk:
paste <(awk -F, '{print $1}' file1) <(awk -F, '{print $2}' file2)
你的问题有点含糊,所以我假设这些字段由空格 forcut
和 a ,
in分隔awk
。
假设您要从file1
和加入整行file2
,请使用paste
:
% cat file1
A
B
C
% cat file2
1
2
3
% paste file1 file2
A 1
B 2
C 3
现在,如果您在每个文件中都有列(在此示例中由逗号分隔),则加入file1.col1
and file2.col2
,其中
% cat file1
A,***
B,***
C,***
% cat file2
***,1
***,2
***,3
做
%paste <(cut -d "," -f1 file1) <(cut -d "," -f2 file2)
A 1
B 2
C 3