Bash-curl-Proxylëschten: dat hënnescht CR aus CRLF-Zeilen ewechhuelen
Liest Proxy-URLen Zeil fir Zeil a Bash a huelt een hënnescht CR aus CRLF-Dateien ewech, ier den Wäert un curl iwwergi gëtt.
Eng Zeil, déi aus enger CRLF-Datei kopéiert gouf, kann wéi proxy.example:8080 ausgesinn, während d'Variabel tatsächlech mat engem Carriage Return ophält. D'Variabel an Anführungszeechen ze setzen erhält dëst Zeechen; et hëlt et net ewech.
Fir eng Bash-Datei mat enger kompletter Proxy-URL pro Zeil:
target='https://api.example/'
while IFS= read -r proxy || [ -n "$proxy" ]; do
proxy=${proxy%$'\r'}
if [ -z "$proxy" ]; then
continue
fi
curl --proxy "$proxy" --max-time 10 --url "$target"
done < ProxyList.txt
Benotzt Entréen wéi http://proxy.example:8080; d'HTTP-Proxylëscht bitt ëffentlech Adresskandidaten, déi een esou formatéiere kann. read hëlt den Zeilenëmbroch-Trenner ewech; d'Suffix-Erweiderung hëlt een hënnescht CR ewech, wann et do ass. D'Bedingung verschafft och eng lescht net-eidel Zeil ouni Zeilenëmbroch.
IFS= verhënnert d'Feldopdeelung wärend read, an -r erhält wuertwiertlech Réckschrägstricher. Duerno ginn duebel Anführungszeechen déi entstane URL als een curl-Argument weider. Vermeit et, iwwer d'Ausgab vun der Kommando-Substitutioun ze iteréieren: d'Wortopdeelung vun der Shell kann d'Rekordgrenzen vun der Datei änneren, ier curl se gesäit.
Dëst normaliséiert d'Zeilenenn. Et reparéiert awer keen falschen Nolauschterprotokoll, keen fehlenden Endpunkt an och kee net erreechbare Service.