CRLF ఫైల్ నుండి కాపీ చేసిన పంక్తి proxy.example:8080 లాగా కనిపించవచ్చు, కానీ వేరియబుల్ వాస్తవానికి carriage return తో ముగుస్తుంది. వేరియబుల్‌ను కోట్స్ లో పెట్టడం ఆ అక్షరాన్ని భద్రపరుస్తుంది; దాన్ని తొలగించదు.

ప్రతి పంక్తిలో ఒక పూర్తి ప్రాక్సీ URL ఉన్న Bash ఫైల్ కోసం:

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

http://proxy.example:8080 వంటి ఎంట్రీలను ఉపయోగించండి; HTTP ప్రాక్సీ జాబితా అలా ఫార్మాట్ చేయగల పబ్లిక్ చిరునామా అభ్యర్థులను అందిస్తుంది. read కొత్త పంక్తి విభజనను తొలగిస్తుంది; సఫిక్స్ విస్తరణ ఉంటే ఒక చివరి CR తొలగిస్తుంది. కొత్త పంక్తి లేని చివరి ఖాళీ కాని పంక్తిని కూడా ఈ షరతు ప్రాసెస్ చేస్తుంది.

IFS= read సమయంలో ఫీల్డ్ విభజనను నిరోధిస్తుంది, -r అక్షరార్థ బ్యాక్‌స్లాష్‌లను భద్రపరుస్తుంది. తర్వాత డబుల్ కోట్స్ ఫలిత URL ను ఒక curl ఆర్గ్యుమెంట్‌గా పంపుతాయి. కమాండ్ ప్రత్యామ్నాయం యొక్క అవుట్‌పుట్‌పై పునరావృతం చేయడం మానుకోండి: షెల్ పద విభజన curl చూసే ముందు ఫైల్ రికార్డ్ హద్దులను మార్చవచ్చు.

ఇది పంక్తి ముగింపులను సాధారణీకరిస్తుంది. ఇది తప్పు వినడం ప్రోటోకాల్, లేని ఎండ్‌పాయింట్ లేదా చేరుకోలేని సేవను సరిచేయదు.

సంబంధిత వ్యాసాలు