2010-09-19 68 views
2

我得看起來像一個文件:正則表達式在bash(下載輸出形式的正則表達式)

<a href="some-adress">some-txt</a> 
<a href="some-adress">some-txt</a> 
<a href="some-adress">some-txt</a> 
... 

我需要下載的是「一些,住址」中的所有文件,我該怎麼辦,只有使用慶典?

+0

你是什麼意思 「只打擊」? Bash不能這麼做(很容易)。您將需要某些實用程序,如下面答案中的那些實用程序。 – 2010-09-19 22:08:27

回答

3

爲什麼不使用wget?它已經有一個特點:

wget -i --force-html yourfile.html 
+1

+1:不能比這更簡單。 – codaddict 2010-09-19 17:35:34

0
cut -f 2 -d '"' file-with-addresses.txt 

cut包括在所有的POSIX的炮彈。該命令將使用"作爲分隔符來分割該行,並返回第二個「字段」。使用wget Adam Rosenfield的方法進行下載很好。

cut -f 2 -d '"' file-with-addresses.txt | xargs wget 
2

這裏做到這一點使用sedxargs組合的一種方式,並wget

sed -n 's/.*<a href="\([^"]*\)">.*/\1/p' input-file | xargs wget 
+0

情侶調整:您可能需要將[^「] *更改爲[^」] \ +以確保該模式至少出現一次,並且您可能希望使用xargs -n 1,因此xargs將針對每個地址調用一次。 – 2010-09-19 17:35:09