BASH:按域对电子邮件地址列表进行排序
我想在bash中按域对文件中的电子邮件地址列表进行排序BASH:按域对电子邮件地址列表进行排序,bash,list,dns,email-address,Bash,List,Dns,Email Address,我想在bash中按域对文件中的电子邮件地址列表进行排序 $ cat file.txt abc@abc.net bbb@aaa.org aba@aaa.com aaa@aaa.com ccc@abb.com aba@abb.com abc@abc.com 我尝试了排序,但它只从用户名开始排序 $ sort file.txt aaa@aaa.com aba@aaa.com aba@abb.com abc@abc.com abc@abc.net bbb@aaa.org ccc@abb.com 我想
$ cat file.txt
abc@abc.net
bbb@aaa.org
aba@aaa.com
aaa@aaa.com
ccc@abb.com
aba@abb.com
abc@abc.com
我尝试了排序,但它只从用户名开始排序
$ sort file.txt
aaa@aaa.com
aba@aaa.com
aba@abb.com
abc@abc.com
abc@abc.net
bbb@aaa.org
ccc@abb.com
我想排序的第一个域,然后用户名
$ sort file.txt
aaa@aaa.com
aba@aaa.com
aba@abb.com
abc@abc.com
abc@abc.net
bbb@aaa.org
ccc@abb.com
$ sort -t @ -k2 file
aaa@aaa.com
aba@aaa.com
bbb@aaa.org
aba@abb.com
ccc@abb.com
abc@abc.com
abc@abc.net
人工分拣
:
-t, --field-separator=SEP
use SEP instead of non-blank to blank transition
-k, --key=KEYDEF
sort via a key; KEYDEF gives location and type