我试图获取所有pdf的链接'在一个文件中。这是我的课程网站。
文件名 - doku.php \?id \ =讲座
文件类型 - HTML
grep -Eo '\/~ece742[\w\d\/\.\?\=\-]+\.pdf' doku.php\?id\=lectures
此正则表达式在找到" / ~ece742 /"后停止。
如果我写
grep -Eo '\/~ece742\/\w+' doku.php\?id\=lectures
它确实在" / ~ece742 /"之后找到了一些文字。喜欢" / ~ece742 / abc123"。
以下是其中一个块:
<td class="col1"> L6 <a href="/~ece742/f12/lib/exe/fetch.php?media=onur-18-742-fall12-lecture6-asymmetric-multicore-afterlecture.ppt" class="media mediafile mf_ppt" title="onur-18-742-fall12-lecture6-asymmetric-multicore-afterlecture.ppt">ppt</a> <a href="/~ece742/f12/lib/exe/fetch.php?media=onur-18-742-fall12-lecture6-asymmetric-multicore-afterlecture.pdf" class="media mediafile mf_pdf" title="onur-18-742-fall12-lecture6-asymmetric-multicore-afterlecture.pdf">pdf</a> <a href="http://youtu.be/hzUQc7NvAnc?list=PLSEZzvupP7hNjq3Tuv2hiE5VvR-WRYoW4" class="urlextern" title="http://youtu.be/hzUQc7NvAnc?list=PLSEZzvupP7hNjq3Tuv2hiE5VvR-WRYoW4" rel="nofollow">YouTube Video</a> </td>
在这种情况下,我想找到 -
&#34; /~ece742/f12/lib/exe/fetch.php媒体= ONUR-18-742-fall12-lecture6不对称-多核afterlecture.pdf&#34?;
我错过了什么吗?
答案 0 :(得分:1)
grep
无法识别转义序列\w
和\d
。扩展正则表达式中的等价物是[:alnum:]_
grep -Eo '/~ece742[[:alnum:]_/.?=\-]+\.pdf' doku.php\?id\=lectures
如果您想使用PCRE转义序列,请使用-P
代替-E
。