尝试卷曲网址列表以确认它们是否有效。我想将主动与非主动分开但我被卡住了。我非常擅长打击脚本,因为我相信你能说出来。 cat功能进入url并不能正常工作。分离内容也无法正常工作。大量的网址将进入nv.txt,但我知道它们是活跃的网址。
感谢您提前获得帮助
#!/bin/bash
url=$(cat non-ssl-list2.txt)
if curl --output /dev/null --silent --head --fail "$url"
then
echo $url Exists > v.txt
else
echo "$url Does Not Exist" > nv.txt
fi
https://hastebin.com/tuqekocate.bash
(代码一直被切断,所以我把它放入hastebin)。
答案 0 :(得分:1)
您的代码中存在问题:
url=$(cat non-ssl-list2.txt)
这会将输入文件的所有行压缩成单个字符串。那不是你想要的,对吗?
您可以逐行遍历文件中的网址,并调用curl
来测试网址是否有效:
while read -r url; do # loop through the array
if curl -s --head "$url" > /dev/null; then # check URL validity
printf '%s\n' "$url exists"
else
printf '%s\n' "$url does not exist"
fi
done < non-ssl-list2.txt
请参阅以下相关帖子:
答案 1 :(得分:1)
可以使用&&
和||
运算符根据curl
命令的退出状态打印到输出文件。
$ curl -k -s -o /dev/null "${url}" && echo "${url} : Exists" > 1.txt || echo "${url} : Does not exist" > 2.txt
列表,
#!/bin/bash
> 1.txt # Create empty text file
> 2.txt #
while IFS= read -r url
do
curl -k -s -o /dev/null "${url}" && echo "${url} : Exists" >> 1.txt || echo "${url}: Does not exist" >> 2.txt
done < /path/to/list.txt