2015-08-15 48 views
2

我有一个电子邮件列表如下:如何确定特定字符后每行的唯一性?

如何删除所有重复的电子邮件都基于域名?所以在上面的例子中,我会删除[email protected][email protected]_3.com。

我知道如何使用uniq的,但它似乎并没有确定之前唯一支持跳转到下@字符。

回答

0

分解这个问题,看起来你只想保留每个域的第一个地址。要做到这一点,你首先得到一个唯一的域名列表,然后用head来保留其中的第一个。

#!/bin/sh 
DOMAINS=$(cut [email protected] -f2 unsorted.txt | sort | uniq) 
for DOMAIN in $DOMAINS ; do 
    grep $DOMAIN unsorted.txt | head -1 
done 
+0

先生,你是一个绅士和学者:假设你有这些地址一行在一个名为unsorted.txt文件中的这个时间可以用类似来完成。我的谢意。 –

相关问题