Bash 在ubuntu上包装文件中的文本

Bash 在ubuntu上包装文件中的文本,bash,ubuntu,grep,uniq,Bash,Ubuntu,Grep,Uniq,我有两个文本文件 $ cat com.txt user1@myskype.com user3@myskype.net user5@myskype.net user4@myskype.net user2@myskype.net $ cat net.txt user1@myskype.net user3@myskype.net user5@myskype.net user2@myskype.net user4@myskype.net 现在我想阅读2个文本文件,并将匹配的用户名以如下格式包装 us

我有两个文本文件

$ cat com.txt
user1@myskype.com
user3@myskype.net
user5@myskype.net
user4@myskype.net
user2@myskype.net

$ cat net.txt
user1@myskype.net
user3@myskype.net
user5@myskype.net
user2@myskype.net
user4@myskype.net
现在我想阅读2个文本文件,并将匹配的用户名以如下格式包装

user1@myskype.net : user1@myskype.com
谢谢

试试这一行:

awk -F'@' 'NR==FNR{a[$1]=$0;next}$1 in a{print a[$1]" : "$0}' net.txt com.txt

你的问题是什么?@KevinNguyen:我删除了我的答案,因为这两个“真实”文件中的用户数量不一样,所以不再合适。当用户名不匹配时,您希望发生什么?@KevinNguyen我无法打开pastebin链接。。。你能把它贴在你的问题上吗?@Kent,你能核对一下吗?谢谢@如果用户名不匹配,我们什么也不做。我只想要匹配的。@Kent Nevermind。非常感谢您出色的awk命令。它对我有用。干杯