在使用 grep/sed 之前将文件保存到单独的 html 文件

Saving files to separate html file before using grep/sed

我正在做一个项目,可以让我浏览一些 urls。现在我有:

#!/bin/bash
for file in 
do
wget  >> 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 然后保存到一个新文件中。

现在我正在努力将 url 保存到新的 html 文件中。求助!

要为每个 URL 创建一个新文件,请在 wget -O 选项的输出文件名中使用 url:

#!/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: 根据上面的评论,在 wget 中添加了 -q 以使其完全安静。