【问题标题】:BASH: sort email address list by domainBASH:按域对电子邮件地址列表进行排序
【发布时间】:2019-07-18 05:32:58
【问题描述】:

我想在 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

我想先对域进行排序,然后是用户名。

【问题讨论】:

    标签: bash list dns email-address


    【解决方案1】:
    $ 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
    

    man sort:

    -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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-17
      • 1970-01-01
      • 1970-01-01
      • 2021-02-07
      • 2020-01-10
      • 2023-01-28
      • 2014-01-07
      • 2010-12-21
      相关资源
      最近更新 更多