【问题标题】:How to exclude blacklisted files from ls?如何从 ls 中排除列入黑名单的文件?
【发布时间】:2017-11-25 01:14:03
【问题描述】:

我有一个blacklist 文件:

$ cat blacklist
Iran
Iraq
Libya
Somalia
Sudan
Syria
Yemen

如何从ls 的输出中排除此blacklist 文件中列出的文件?我已经阅读了手册页,最接近的是 --ignore 选项,不幸的是它没有读取文件。我还想过将ls 的输出传送到grep 并使用--invert-match 选项忽略blacklist 文件中的所有文件,但我不知道该怎么做。

【问题讨论】:

    标签: bash grep ls


    【解决方案1】:

    如果你必须使用ls,你可以这样做:

    ls | grep -vFxf blacklist
    
    • -v 反转选择
    • -F 将文件黑名单中的行视为字符串,而不是模式
    • -x 匹配整行
    • -f 从黑名单中读取要匹配的模式/字符串

    请注意,上述解决方案适用于所有情况,但文件名中包含换行符的情况除外。

    【讨论】:

      猜你喜欢
      • 2016-08-13
      • 1970-01-01
      • 2021-09-16
      • 1970-01-01
      • 2018-12-20
      • 2019-11-09
      • 2021-01-27
      • 2019-05-07
      • 2017-03-04
      相关资源
      最近更新 更多