如何使用wget下拉域列表并使用grep扫描域

时间:2019-01-17 12:37:35

标签: linux shell grep wget

我在名为“ domains.txt”的文件夹中包含一个域名列表,格式如下:

www.google.com
www.stackoverflow.com
www.apple.com
etc...

我想执行一个wget命令来下拉“ domains.txt”中列出的每个域的副本,并将其另存为.html页面。

我可以使用wget www.google.com来单独执行此操作,但我想知道是否可以遍历列表并将每个域名另存为单独的.html文件,而不是分别进行操作?

我要执行的第二项操作是扫描这些下拉的.html文件中的关键字,这些文件已包含在名为“ keywords.txt”的文本文件中。它们的格式如下:

first_keyword
second_keyword
third_keyword
etc...

理想情况下,我希望有一个将域名打印到文本文件的输出,如果发现包含“ keywords.txt”中包含的任何关键字,则在其旁边带有“ yes”。如果可以打印在每个域旁边找到了哪些关键词,那将是一个绝妙的选择,但是简单的“是”也将非常有用。我是Linux和脚本开发的新手,所以我们将不胜感激!

1 个答案:

答案 0 :(得分:0)

我认为文件不包含引号。否则,我将需要更多代码来删除引号。

domains.txt

www.google.com
www.stackoverflow.com
www.apple.com

keywords.txt

first_keyword
second_keyword
third_keyword

您可以尝试这样的事情

outfile=tmp.html

while IFS= read -r domain
do
    wget -O "$outfile" "$domain"

    if fgrep -q -f keywords.txt "$outfile"
    then
        echo "$domain" yes
    else
        echo "$domain" no
    fi

    rm "$outfile"

done < domains.txt