![如何从字符串中提取多个 URL?](https://linux22.com/image/1569511/%E5%A6%82%E4%BD%95%E4%BB%8E%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E6%8F%90%E5%8F%96%E5%A4%9A%E4%B8%AA%20URL%EF%BC%9F.png)
我有一个如下的字符串
https://website.com/BTAE/2015/BTAEassignment jan 15.pdf²0ÔË'\“QI”"ÙP¾^ŒŸZ‡@Æ*]Ü.^‚vðƒ€Ù¾»Æš©Šñ'€é• ªÂIR#œÉgÉÛ^gMdÉ%9¬e˜Hžôb¿'0<ô ?lþzk…éÃÄórÈ;EW¦K³1…²ì¶ZFžŠÒô*ÄÖ\ã]»'{ÂMçí¦DêiÁßÅÁ½ :n„q¹1ÙDRó=±Â{EDûEb@N5tÍ›,§ààká@¡;(º\0AÇSª¾Q¾ÒÉœí['rú€"?í®§ä‡ÕYÈ<¸^WÐPÁ'4îÖƒÔ'…÷f·qhttps://webservices.ignou.ac.in/assignments/BTAE/2015/BTAE assignment jan 15.pdf https://website.com/BTAE/2015/base-005.pdf
我需要从字符串中获取所有 pdf、doc 文件的 url。
我是 SHELL SCRIPT 的新手,搜索了很多,但没有成功。
答案1
你可以做这样的事情:
grep --only-matching -P "http.*?\.(pdf|doc)" myfile.pdf
您的样本的输出是:
https://website.com/BTAE/2015/BTAE assignment jan 15.pdf
https://webservices.ignou.ac.in/assignments/BTAE/2015/BTAE assignment jan 15.pdf
https://website.com/BTAE/2015/base-005.pdf