【问题标题】:Greping folder names but exluding "@domain.com"Grepping 文件夹名称但不包括“@domain.com”
【发布时间】:2011-06-24 13:34:41
【问题描述】:

是否可以从grep 中排除域?我在下面尝试过的方法似乎不起作用。

ls -l /var/www/folder | grep -E -o --exclude-dir="@somedomain.com" --color "\b[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9.-]+\b">>test.txt

【问题讨论】:

    标签: linux scripting grep


    【解决方案1】:

    这个怎么样

    ls -l /var/www/folder | grep -v "@somedomain.com"
    

    测试用例:

    $ mkdir -p /tmp/test && cd $_
    $ touch {a,b,c,d}@domain.com
    $ touch {e,f}@somedomain.com
    $ ls
    domain.com  b@domain.com  c@domain.com  d@domain.com  e@somedomain.com  f@somedomain.com
    $ ls -1 | grep -v "@somedomain.com"
    a@domain.com
    b@domain.com
    c@domain.com
    d@domain.com
    

    下面是手册页对-v 的说明

    -v, --invert-match
             Invert the sense of matching, to select non-matching lines.  (-v is specified by POSIX.)
    

    【讨论】:

    • 我需要使用@otherdomain grep 所有其他文件夹,但不是@domain.com 的文件夹,所以我认为 exclude 可以工作
    • 我不明白这与上述有何不同,但无论如何:)
    【解决方案2】:

    -l /var/www/文件夹 | grep --invert-match "@somedomain.com" | grep -E -o --color "\b[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+.[a-zA-Z0-9.-]+\ b">>test.txt

    【讨论】:

      猜你喜欢
      • 2021-10-24
      • 1970-01-01
      • 1970-01-01
      • 2017-06-17
      • 2019-07-06
      • 2013-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多