【问题标题】:Filtering a 2 column list using command line [closed]使用命令行过滤 2 列列表 [关闭]
【发布时间】:2013-11-30 04:50:49
【问题描述】:

我有一个分为两列的文件; ips 和主机名。

xx.xx.xx.1    name.com
xx.xx.xx.2    name.com
xx.xx.xx.3    unique.name.com
xx.xx.xx.4    name.com
xx.xx.xx.5    more.unique.com
xx.xx.xx.6    name.com
.
.
.
.

我想删除带有重复“name.com”的行。我尝试了一些 uniq 和 sort 命令,但无法弄清楚。帮助将不胜感激。谢谢。

【问题讨论】:

    标签: regex sorting terminal line uniq


    【解决方案1】:
    perl -ane '$seen{$F[1]}++ or print' filename
    

    【讨论】:

      【解决方案2】:

      一旦问题变得如此复杂,我倾向于求助于 Perl:

      #! /usr/bin/perl
      
      %count = ();
      while (<>) {
          my ($ip, $hostname) = split /\s+/;
          print $_ if ($hostname eq 'name.com' and ++$count{$hostname} == 1);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-28
        • 2012-12-24
        • 2017-05-08
        • 2021-05-28
        相关资源
        最近更新 更多