#1 Le 24/01/2018, à 21:30
- ludooo_fra
Script parsage csv wget et rename
Bonjour,
j'ai un script à réaliser et ce n'est pas trop mon truc !
Dans un fichier CSV, il faudrait récupérer une premiere colonne et une url.
Puis télécharger l'url et renommer le fichier par le texte de la première colonne.
Pouvez-vous m'aider ?
J'arrive à extraire les url et les mettre dans un fichier pour faire un wget -i mais absolument pas à les renommer en suivant le pattern de ma première colonne.
Pourriez-vous m'assister ?
merci
Hors ligne
#2 Le 24/01/2018, à 21:38
- Watael
Re : Script parsage csv wget et rename
salut,
mais comment récupères-tu l'URL ?
il faudrait qu'on ait un échantillon du fichier à traiter.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 24/01/2018, à 21:40
- ludooo_fra
Re : Script parsage csv wget et rename
Pour récupérer l'url j'ai écris cela,
cat exemple.csv | awk -F"," '{print $2}' >> url1
et ça fonctionne.
Un exemple du fichier csv
un,https://www.xxx.pdf
deux,https://www.xxxxx.pdf
Hors ligne
#4 Le 24/01/2018, à 21:56
- Watael
Re : Script parsage csv wget et rename
c'est bête, tu n'es pas très loin :
awk -F ',' '{print $2 >1}' exemple.csv
Dernière modification par Watael (Le 24/01/2018, à 21:58)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 24/01/2018, à 22:05
- DonutMan75
Re : Script parsage csv wget et rename
Hello,
je propose ça :
#! /bin/sh
fin="./liste.dat"
while read l ; do
fout=$(echo "$l" | awk -F"," '{print $1}')
url=$(echo "$l" | awk -F"," '{print $2}')
wget "$url" -O "$fout"
done < "$fin"
avec par exemple (deux articles pdf au pif trouvés sur le net):
$ cat liste.dat
un,http://pedagogie.ac-toulouse.fr/rer-cordes/FILES/flash/archive/Ecoleetcinema/Edward/bio.pdf
deux,http://www.jane-eakin.com/articles/85_dp_festival_du_cinema_italien.pdf
Une exécution créé bien les fichiers un et deux comme convenu...
$ ls -1
liste.dat
run.sh
$ ./run.sh
$ ls -1
deux
liste.dat
run.sh
un
Donut
Hors ligne
#6 Le 24/01/2018, à 22:08
- ludooo_fra
Re : Script parsage csv wget et rename
Salut DonutMan75, je regarde ça. Merci
Hors ligne
#7 Le 24/01/2018, à 22:17
- Watael
Re : Script parsage csv wget et rename
non, c'est affreux.
mais je vois que j'ai omis le téléchargement dans mon code, mais c'est faisable en 100% awk.
bon, en shell propre :
while IFS=',' read -r un deux
do
wget -qO"$un" "$deux"
done < fichier.csv
Dernière modification par Watael (Le 24/01/2018, à 22:18)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#8 Le 24/01/2018, à 22:22
- ludooo_fra
Re : Script parsage csv wget et rename
MERCI Donut, merci Watael aussi
ça fonctionne très bien, t'es un boss
j'ajouterais pour ceux qui tomberais sur ce post que pour ajouter l'extension aux fichiers téléchargés que la fonction rename fonctionne bien
rename 's/(.*)/$1.pdf/' *
Dernière modification par ludooo_fra (Le 24/01/2018, à 23:01)
Hors ligne