[英]Bash Script to read file and curl on each line and output if string found
[英]How to output first line of curl result in a file with bash script
我想讀取一個URL文件,卷曲每個URL,僅獲取包含HTTP代碼的第一行。 我正在Cmder的Windows 10下運行。
#!/bin/bash
input="urls.csv"
truncate -s 0 dest.csv
while IFS= read -r var
do
result= `curl -I ${var%$'\r'} | grep HTTP $result`
echo "$var $result" >> dest.csv
done < "$input"
但是輸出文件為空,謝謝
假設urls.csv
只是URL的簡單列表,並且您正在Linux系統(或任何具有/dev/null
)上工作,則以下命令將HEAD請求發送到每個URL並將它們輸出到HTTP響應代碼旁邊。
sed 's/^/url = /; s/\r\?$/\n-o \/dev\/null/' urls.csv |
curl -s -K- -w '%{http_code} %{url_effective}\n' -I >outfile
有關更多信息,請參見curl手冊頁 。
為了回答您有關輸出HTTP代碼的查詢,這在標題的第二行中給出。 您可以通過以下方式獲得此信息:
export IFS=$; # This is required to stop everything coming out on one line!
curl -i <domain> | head -n 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.