Grep for Tron - 5 秒钟的问题

Grep for Tron - 5 秒钟的问题

我遇到了一个简单的解决方案。我需要 grep Tron*.exe

<li><a href="Tron%20v9.6.1%20(2016-10-03).exe"> Tron v9.6.1 (2016-10-03).exe</a></li>
<li><a href="Tron%20v9.6.1%20(2016-10-03).torrent"> Tron v9.6.1 (2016-10-03).torrent</a></li>
<li><a href="md5sums.txt"> md5sums.txt</a></li>
<li><a href="md5sums.txt.asc"> md5sums.txt.asc</a></li>
<li><a href="sha256sums.txt"> sha256sums.txt</a></li>
<li><a href="sha256sums.txt.asc"> sha256sums.txt.asc</a></li>

即使文本改变版本号或日期,我也需要它来适用于列表。

答案1

grep使用 PCRE ( -P),仅提取匹配的部分 ( -o):

grep -Po '"\KTron[^"]*\.exe' file

在正则表达式中:

  • "匹配文字"\K丢弃匹配

  • Tron匹配文字Tron

  • [^"]*匹配零个或多个不属于"

  • \.exe匹配文字.exe

例子:

$ cat file.txt
<li><a href="Tron%20v9.6.1%20(2016-10-03).exe"> Tron v9.6.1 (2016-10-03).exe</a></li>
<li><a href="Tron%20v9.6.1%20(2016-10-03).torrent"> Tron v9.6.1 (2016-10-03).torrent</a></li>
<li><a href="md5sums.txt"> md5sums.txt</a></li>
<li><a href="md5sums.txt.asc"> md5sums.txt.asc</a></li>
<li><a href="sha256sums.txt"> sha256sums.txt</a></li>
<li><a href="sha256sums.txt.asc"> sha256sums.txt.asc</a></li>

$ grep -Po '"\KTron[^"]*\.exe' file.txt
Tron%20v9.6.1%20(2016-10-03).exe

相关内容