Вопрос Ubuntu 13.10 Сервер: wget автоматически изменяет имя файла загруженного файла


У меня есть простой сценарий оболочки на моем сервере Ubuntu 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