1 votes

Serveur Ubuntu 13.10 : wget change automatiquement le nom de fichier du fichier téléchargé

J'ai un simple Shell Shell sur mon serveur Ubuntu 13.10 pour télécharger tous les fichiers dans une liste.

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

Le contenu de workobject.txt :

9957881
9A39879

Le script fonctionne correctement. Cependant, lorsqu'il télécharge le 9957881.txt il change le nom du fichier en 9Z44X7~P.txt à la place.

Quel est le problème avec le script ?

1voto

Radu Rădeanu Points 156862

Je vous suggère d'utiliser :

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

Ver man wget pour comprendre pourquoi.

1voto

Chester Points 1010

J'ai fait une vérification de la sortie et il montre une %0D sur le nom du fichier. Après une recherche plus poussée, j'ai découvert qu'il s'agit du retour à la ligne dans le fichier workobject.txt . Malheureusement, je ne peux rien faire en ce qui concerne le formatage de l'information. workobject.txt parce qu'il n'est poussé vers mon serveur que par l'intermédiaire de l'application scp .

Je laisse simplement le script faire la même chose et je renomme par lot tous les fichiers après le traitement pour enlever le %0D qui suit le nom du fichier.

Ainsi, le script final ressemble à ceci :

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*

Ça a marché comme un charme.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X