我想从文件创建一个网址和名称的列表。这些链接显示如下:Grep链接和链接名称来创建CSV文件
<table class="list">
<tr><th valign="top">I</th><td><a href="main.asp">link45.php</a>, <a href="link.html">link</a>, <a href="link8.asp">link8</a>, <a href="link2.html">link 2</a></td></tr>
<tr><th valign="top">I</th><td><a href="main.asp">link45.php</a>, <a href="link.html">link</a>, <a href="link8.asp">link8</a>, <a href="link2.html">link 2</a></td></tr>
</table>
(也有可能是一些TR的并表标签在那里也请忽略在标签开始的空间
我需要的输出是一个。 CSV格式一样,但我不能确定如何使用grep做到这一点:
“linktoblah.html”,
“链接的名字:”我有一个工作的grep它翻出所有的links.html但不确定我会如何将它旁边的名字拉出来
cat list.html | grep -o '<a .*href=.*>' | sed -e 's/<a /\n<a /g' | sed -e 's/<a .*href=['"'"'"]//' -e 's/["'"'"'].*$//' -e '/^$/ d'
由于
的空间实际上并不存在,我只是把他们在如此计算器不会隐藏链接。所有链接都在一个表格中,因此它实际上会显示为< td>链接和链接名称< /td>。该sed给我无效的选项-a? –
不知道那里发生了什么。使用'-e'标志(见编辑后)。我以为我从我的命令行完成了一个复制/粘贴... – Floris
它拉出更多标签,只获得第一个结果(有成千上万)