首页 > 解决方案 > 如何从 html 文件中 grep 特定日期

问题描述

我有一个 HTML 文件,其中有许多以 dd/mm/yy 格式分布的日期。我正在寻找一种从中检索特定日期的方法。

输入:

Released: 08/08/2019</td>
<td>06/26/2019</td>
Released: 03/09/2019</td>
<td>14/29/2019</td>

我找到了一种从文件中检索所有日期的方法:

grep -o "[0-9]\{2\}/[0-9]\{2\}/[0-9]\{4\}"

输出:

08/08/2019
06/26/2019
03/09/2019
14/29/2019

但是,我需要过滤这些日期并只选择具有这种格式的日期:

<td>dd/mm/yyyy</td>

所以从上面的输入,我需要这个输出:

06/26/2019
14/29/2019

标签: htmlshellgrep

解决方案


我总是推荐使用 HTML/XML 解析器。如果这是不可能的尝试 GNU grep 和 Perl 兼容的正则表达式 (PCRE):

grep -Po '(?<=<td>)[0-9]{2}/[0-9]{2}/[0-9]{4}(?=</td>)' file

输出:

2019 年 6 月 26 日
2019 年 14 月 29 日

推荐阅读