【问题标题】:Grep zipped files for variables from .txt file.txt 文件中变量的 Grep 压缩文件
【发布时间】:2020-01-14 23:28:35
【问题描述】:

我已经压缩了如下文件:

20191231_aaa.zip

20191231_bbb.zip

20191231_ccc.zip

20191230_aaa.zip

20191230_bbb.zip

20191230_ccc.zip

20191229_aaa.zip

20191229_bbb.zip

20191229_ccc.zip

...

我想 grep if 文件

*aaa.zip 和 *bbb.zip

包含文件:

  • 名称中包含指定的单词,例如“house”
  • 仅适用于指定日期,例如:20191230、20191220、20191210,这些日期在 dates.txt 文件中,格式为:

20191230

20191220

20191210

我和这个堆叠在一起:

ls | xargs grep dates.txt | unzip -l | grep house

【问题讨论】:

    标签: cygwin xargs


    【解决方案1】:

    如果我正确理解您的问题,以下应该可以:

    ls *.zip | fgrep -f dates.txt  | xargs -I{F} sh -c 'unzip -l {F} | grep -q house && echo FOUND: {F}'
    

    请注意,以上是一个简化,假设“干净”*.zip 文件名,即没有空格或引号。

    蒸馏它:

    • ls *.zip | fgrep -f dates.txt 将使用dates.txt 作为fgrep 模式过滤文件列表
    • | xargs -I{F} sh -c '...' 将使用读取的每一行 (filename.zip) 来执行 sh -c '...' ... shell sn-p 将每个 filename.zip 引用为 @ 987654329@

    【讨论】:

      猜你喜欢
      • 2018-07-04
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-27
      • 1970-01-01
      • 1970-01-01
      • 2014-06-14
      相关资源
      最近更新 更多