【发布时间】:2021-08-30 16:05:28
【问题描述】:
(你真棒)
如何将参数从上一个命令传递给 awk 或 grep?
我想匹配两个文件中的一个字段(用户名):
预期结果:
firstname Lastname Username IPaddress
Mozes Bowman user1 134.244.47.32
Jazzmyn Parrish user2 3.249.198.34
Chet Woods user3 52.215.73.213
来自这 2 个:
**file1**
IPaddress Username
34.244.47.32 user1
3.249.198.34 user2
52.215.73.213 user3
**file2**
firstname Lastname Username
Mozes Bowman user1
Jazzmyn Parrish user2
Chet Woods user3
这是我能做到的:
awk '{print $2,$1}' file1 | while read Username IP ; do grep $username file2 && echo $IP; done
导致IP每次都换行显示:
firstname Lastname Username
IPaddress
Mozes Bowman user1
34.244.47.32
Jazzmyn Parrish user2
3.249.198.34
Chet Woods user3
52.215.73.213
【问题讨论】:
-
如果匹配的行可以在 2 个文件之间以不同的顺序出现,或者在 2 个文件之间可能存在不匹配的行,那么在您的示例中包含这些行,因为它们都使它成为比您更难的问题'到目前为止已经显示。