It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center。
7年前关闭。
我有一个要求,其中
FileA:
文件B:
Shell脚本:
这是我的挑战,如何读取在
注意:将
7年前关闭。
我有一个要求,其中
fileA
包含具有几列的行的列表,其中一列是emaillist
,它们被命名为emaillist[1,2,3,..]
。我定义了另一个文件fileB
,其中已将值分配给emailist[1,2,3,..]
变量。我阅读了fileA
,并想阅读在emailist
中定义的fileB
。FileA:
XXX1 YYY1 emailist1
XXX2 YYY2 emailist2
文件B:
[email protected]
[email protected]
Shell脚本:
Read fileA
email = $3
这是我的挑战,如何读取在
emailist1
中定义的fileB
。 最佳答案
使用join
命令:
$ cat fileA
XXX1 YYY1 emailist1
XXX2 YYY2 emailist2
$ cat fileB
emailist1 [email protected]
emailist2 [email protected]
$ join -1 3 -2 1 -o '1.1 1.2 2.2' <(sort fileA -k3,3) <(sort fileB)
XXX1 YYY1 [email protected]
XXX2 YYY2 [email protected]
join
命令要求首先对数据进行排序,因此我们先按sort
排序emaillist
文件,然后将column 3
中的file 1
与column 1
中的file 2
,即-1 3 -2 1
联接在一起。 -o
选项用于以几乎相同的方式指定要输出的字段,因为您没有明确指定我猜fileA
的字段1和2,以及fileB
:1.1 1.2 2.2
的字段2。注意:将
=
更改为fileB
中的空格,例如sed 's/=/ /' fileB
。08-27 18:43