सवाल उबंटू 13.10 सर्वर: wget स्वचालित रूप से डाउनलोड की गई फ़ाइल के फ़ाइल नाम को बदल देता है


मेरी सूची में सभी फ़ाइलों को डाउनलोड करने के लिए मेरे उबंटू 13.10 सर्वर पर एक सरल खोल स्क्रिप्ट है।

filen="/home/chester/test/workobject.txt"
dir_log="/home/chester/test"

if [ -f "$filen" ]
then
cd $dir_log
for n in `cat $filen`
   do
     echo $n
     wget -O $n.txt -q http://domain.com/QuickSearch?object=$n&search=Overview
   done
else
   echo "Nothing to do."
fi

की सामग्री workobject.txt:

9957881
9A39879

लिपि ठीक से काम करता है। हालांकि, जब यह डाउनलोड करता है 9957881.txt फाइलें, यह फ़ाइल नाम बदलती है 9Z44X7~P.txt बजाय।

लिपि के साथ क्या गलत है?


1
2017-12-03 07:18


मूल




जवाब:


मेरा सुझाव है कि आप इसका उपयोग करें:

wget -O - -q http://domain.com/QuickSearch?object=$n&search=Overview > $n.txt

देख man wget समझने के लिए क्यों।


1
2017-12-03 08:28



जवाब के लिए धन्यवाद। हालांकि, यह मुझे एक ही आउटपुट देता है। मैंने पहले ही इसे समझ लिया है इसलिए मैं इस सवाल का जवाब दूंगा। - Chester
कृपया इसे करते हैं। यह शायद अन्य उपयोगकर्ताओं के लिए उपयोगी होगा। - Radu Rădeanu


मैंने आउटपुट पर एक चेक किया और यह एक दिखाता है %0D फ़ाइल नाम पर। अधिक शोध पर, मुझे पता चला है कि यह पीछे की रेखा ब्रेक है workobject.txt। अफसोस की बात है, मैं स्वरूपण के बारे में कुछ भी नहीं कर सकता workobject.txt फ़ाइल क्योंकि यह केवल मेरे सर्वर के माध्यम से धक्का दिया जा रहा है scp

मैं सिर्फ स्क्रिप्ट को एक ही काम करने देता हूं और बस को हटाने के लिए प्रसंस्करण के बाद सभी फ़ाइलों का नाम बदलता हूं %0D फ़ाइल नाम पीछे पीछे।

तो अंतिम लिपि इस तरह दिखती है:

filen="/home/chester/test/workobject.txt"
dir_log="/home/chester/test"

if [ -f "$filen" ]
then
cd $dir_log
for n in `cat $filen`
   do
     wget -q http://domain.com/QuickSearch?object=$n
   done
else
   echo "Nothing to do."
fi
rename "s/%0D//g" Quick*

एक जादू की तरह काम किया।


1
2017-12-03 10:08