【问题标题】:How do I check if the date I input matches the time stamp a few text files如何检查我输入的日期是否与几个文本文件的时间戳匹配
【发布时间】:2016-10-20 19:10:01
【问题描述】:

使用 bash 我输入我的年月日,并需要检查文本文件是否包含该特定日期,如果是,我需要返回文本文件名。

例如:

ThreadNum: 309264
Subject: Re: math
To: aaaa1425@aol.com (aaa)
From: Doctor Douglas
TimeStamp: 03/08/2004 at 13:58:57
Sent: yes

如果我的输入与时间戳匹配,我需要打印出文件名。如何使用 bash 匹配时间戳?

【问题讨论】:

  • 错误grep -l date files ?
  • grep -lIR 'TimeStamp: 03/08/2004' /directory/with/files/

标签: bash shell unix awk sed


【解决方案1】:

试试这个: egrep -l 'TimeStamp: 03/08/2004' file

您可以指定任意数量的文件,或者只使用* insted of file

【讨论】:

    【解决方案2】:

    您可以为此使用find

    find /path/to/directory -type f -exec grep -l 'TimeStamp: 03/08/2004' {} \;
    
    • -type f 告诉find 只查找文件。

    • -exec grep -l 告诉find 调用grep 实用程序。 -l 参数告诉grep 只搜索文件,直到找到给定的搜索字符串,在本例中为TimeStamp: 03/08/2004。如果找到匹配项,则将文件的路径名打印到 stdout。

    根据目录的大小、文件的数量和这些文件包含的数据量,这可能需要一些时间才能完成。如果所有要搜索的文件都包含在一个目录中,那么时间将大大减少。

    例如,搜索$HOME 文件夹中的每个文件将比将搜索范围缩小到$HOME/Documents/Text_Files 时花费的时间要长得多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-20
      • 2018-03-12
      • 1970-01-01
      • 2018-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-31
      相关资源
      最近更新 更多