Linux 打印grep的结果和curl的代码

Linux 打印grep的结果和curl的代码,linux,bash,curl,Linux,Bash,Curl,我想从一个大文件中获取所有URL,并在线检查该链接的状态。例如,我想 stackoverflow.com,200行 到目前为止,我有grep-o“https:*”file.txt | xargs curl-is 2>&1 | grep HTTP,但我不知道如何显示urlgrep正在馈送xargs和curl正在访问 HTTP/1.1 200 OK HTTP/1.0 301 Moved Permanently 您可以尝试以下方法: grep "https:" file.txt | xargs

我想从一个大文件中获取所有URL,并在线检查该链接的状态。例如,我想

stackoverflow.com,200行

到目前为止,我有
grep-o“https:*”file.txt | xargs curl-is 2>&1 | grep HTTP
,但我不知道如何显示url
grep
正在馈送
xargs
curl
正在访问

HTTP/1.1 200 OK
HTTP/1.0 301 Moved Permanently

您可以尝试以下方法:

grep  "https:" file.txt | xargs -I {} curl -I  -L -s -o /dev/null -w "%{url_effective},%{response_code}" {}
我想知道你的
grep
是否真的捕获了整个URL,因为你使用了
-o
参数。您是否单独测试了
grep
命令

请注意,在本例中,我添加了
-L
参数以自动跟踪重定向,并使用它获取重定向后的最后一个响应代码(
%{response\u code}
)和最终URL(
%{URL\u effective}
)。但是如果您愿意,您可以显示文件中的原始URL,而不是最后的URL,如
curl
所示

大多数情况下,访问domain.com意味着重定向到www.domain.com。因此,第一个请求返回301或302响应代码,第二个请求返回200(如果一切顺利)。在配置错误的网站上可能存在多个重定向,甚至重定向循环。所以我们通常感兴趣的是最后一个响应代码


然后,使用
xargs
,您可以添加并行处理。我想这就是你的想法,因为你说你有一个大文件。

显示你的
文件.txt的内容。
@Kent:grep很好用,我只是想知道如何在xargs之后打印要卷曲的url。你的file.txt中每行有一个url吗?