我想在 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
我想先对域进行排序,然后对用户名进行排序。
最佳答案
$ 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
关于BASH:按域对电子邮件地址列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54855602/