Bash curl-proxylistor: ta bort efterföljande CR från CRLF-rader
Läs proxy-URL:er rad för rad i Bash och ta bort en efterföljande CR från CRLF-filer innan värdet skickas till curl.
En rad kopierad från en CRLF-fil kan se ut som proxy.example:8080 medan variabeln faktiskt slutar med en carriage return. Att sätta variabeln inom citattecken bevarar tecknet; det tar inte bort det.
För en Bash-fil med en fullständig proxy-URL per rad:
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
Använd poster som http://proxy.example:8080; HTTP-proxylistan tillhandahåller offentliga adresskandidater att formatera så. read tar bort radbrytningstecknet; suffixutökningen tar bort en efterföljande CR om den finns. Villkoret hanterar också en sista icke-tom rad utan radbrytning.
IFS= förhindrar fältdelning under read, och -r bevarar bokstavliga omvända snedstreck. Sedan skickar dubbla citattecken den resulterande URL:en som ett curl-argument. Undvik att iterera över utdata från kommandosubstitution: skals orddelning kan ändra filens postgränser innan curl ser dem.
Detta normaliserar radslut. Det åtgärdar inte ett felaktigt lyssnarprotokoll, en saknad slutpunkt eller en oåtkomlig tjänst.