[WGET]obtenir la taille d'un fichier
Résolu
maryloo
-
maryloo -
maryloo -
coucou tout le monde :)
alors j'ai une question un peu tordue:
je voudrais savoir commet recuperer la taille d'un ficher avant de la telecharger.
si j'utilise wget je peux avoir la taille avec "spider" mais l'info est noyée parmi tant d'autres....
comment pourrais-je avoir juste la taille d'un fichier distant?
si c'est possible :)
merci
alors j'ai une question un peu tordue:
je voudrais savoir commet recuperer la taille d'un ficher avant de la telecharger.
si j'utilise wget je peux avoir la taille avec "spider" mais l'info est noyée parmi tant d'autres....
comment pourrais-je avoir juste la taille d'un fichier distant?
si c'est possible :)
merci
A voir également:
- [WGET]obtenir la taille d'un fichier
- Comment réduire la taille d'un fichier - Guide
- Fichier bin - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Forcer la suppression d'un fichier - Guide
3 réponses
Salut,
Une variante par rapport à la syntaxe de "jisisv" :
Une variante par rapport à la syntaxe de "jisisv" :
$ wget --spider -S $URL 2>&1 | sed -n '/^\(Longueur\|Length\)/ s#.*(\(.*\)).*#\1#p' 191M;-))
sed -n On demande l'affichage sur la sortie standard que sur demande (voir option "p" plus loin) /^\(Longueur\|Length\)/ Le motif à rechercher encadré par /.../ ^ indique qu'il se trouve en début de ligne \(...\) permet de grouper plusieurs éléments (il faut protéger les parenthèses) \| le pipe ici (protégé) est un synonyme de OU (la version de wget de jisisv est en anglais, la mienne en français) on recherche soit Longueur soit Length s#.*(\(.*\)).*#\1#p' la commande de substitution, normalement "s/chaine/remplacement/" avec des slashs, mais comme le motif recherché contient un slash, il faut le remplace par un autre caractère (ici le dièse #) # délimiteur de début chaine recherchée .*(\(.*\)).* l'expression régulière qui matche le motif recherché .*( tout se qui se trouve avant une parenthèse ouvrante, parenthèse comprise \(.*\) les parenthèses (protégées) ici délimitent se qu'on appelle une sous-expression qui sera appelée plus loin par "\1". La sous-expression matche donc ce qui se trouve entre les parenthèses ).* tout se qui suit une parenthèse fermante (comprise elle aussi) jusqu'à la fin de la ligne # délimiteur de chaine recherchée et de chaine de remplacement \1 correspond à la sous expression matchée # délimiteur de fin p demande d'impression à l'écran de la chaine
Une piste
Je n'ai évidemment pas envisgé toutes les possiblilitès. A tester, améliorer...
johand@osiris ~ $ URL='http://downloads.sourceforge.net/systemrescuecd/systemrescuecd-x86-1.0.3.iso' johand@osiris ~ $ size=$(wget --spider -S $URL 2>&1 |grep '^Length'|cut -d " " -f2 |tr -d ',') johand@osiris ~ $ echo $size 199852032
Je n'ai évidemment pas envisgé toutes les possiblilitès. A tester, améliorer...
super!
merci beaucoup ! ça va me faciliter la vie !
je voudrais pas abuser mais, est ce quec'est possible de detailler la commande?
je voudrais comprendre ce que je fais et pas copier betement...
s'il te plait...
merki :)