wget grep sed提取链接并将其保存到文件中

时间:2014-02-18 23:06:03

标签: bash sed grep pipe wget

我需要从http://en.wikipedia.org/wiki/Meme下载所有页面链接,并使用一个命令将它们保存到一个文件中。

首次使用命令行,所以我不确定要使用的确切命令,标志等。我只知道要做什么,不得不四处寻找href的含义。

wget http://en.wikipedia.org/wiki/Meme -O links.txt | grep 'href=".*"' | sed -e 's/^.*href=".*".*$/\1/'

文件中链接的输出不需要采用任何特定格式。

3 个答案:

答案 0 :(得分:4)

使用gnu grep:

grep -Po '(?<=href=")[^"]*' links.txt

或与wget

wget http://en.wikipedia.org/wiki/Meme -q -O - |grep -Po '(?<=href=")[^"]*'

答案 1 :(得分:1)

您可以使用wget的蜘蛛模式。请参阅此SO答案以获取示例。

wget spider

答案 2 :(得分:0)

wget http://en.wikipedia.org/wiki/Meme -O links.txt | sed -n 's/.*href="\([^"]*\)".*/\1/p'

但是每行仅需要1 href,如果超过1,则其他丢失(与原始行相同)。您还忘记在原始sed第一个模式中有一个组(\( - &gt; \)),因此\1没有任何参考