我正在开展一个项目,让我可以浏览一些网址。现在我有:
#!/bin/bash
for file in $1
do
wget $1 >> output.html
cat output.html | grep -o '<a .*href=.*>' |
sed -e 's/<a /\n<a /g' |
sed -e 's/<a .*href=['"'"'"]//' -e 's/["'"'"'].*$//' -e '/^$/ d' |
grep 'http'
done
我希望用户能够按如下方式运行脚本:
./navigator google.com
将url源保存到一个新的html文件中,然后运行我的grep / seds,然后保存到一个新文件。
现在我正在努力将网址保存到新的html文件中。救命啊!
答案 0 :(得分:1)
要为每个网址创建新文件,请在wget -O
选项的输出文件名中使用网址:
#!/bin/bash
for url; do
out="output-$url.html"
wget -q "$url" -O "$out"
grep -o '<a .*href=.*>' "$out" |
sed -e 's/<a /\n<a /g' |
sed -e 's/<a .*href=['"'"'"]//' -e 's/["'"'"'].*$//' -e '/^$/ d' |
grep 'http'
done
PS:根据上述评论,在-q
中添加wget
以使其完全安静。