Extraire des url d'un fichier
Résolu
katwes07
Messages postés
2
Statut
Membre
-
katwes07 Messages postés 2 Statut Membre -
katwes07 Messages postés 2 Statut Membre -
Bonjour,
Je souhaite extraire d'un fichier, des url de type <a href='url.php?cs=1&ce=2&start=10'
sachant qu'une ligne peut en contenir plusieurs.
J'ai essayé le script suivant :
ce script ne fonctionne pas bien car il ne ramène qu'une occurence par ligne alors qu'il y en a plusieurs.
et il ne tient pas compte de 'url.php?cs=
Ce que je cherche à faire est-il possible avec la commande sed et comment?
Je souhaite extraire d'un fichier, des url de type <a href='url.php?cs=1&ce=2&start=10'
sachant qu'une ligne peut en contenir plusieurs.
J'ai essayé le script suivant :
#!/bin/bash
args=$@
cat "$@" | { # so we can act as a filter
tr '<>"\47 ' '[\n*]' | sed -n -e "s/href=\'url.php?cs=//gI" -e 's/src=//gI' -e '/http:/Ip' > tmp_1
if [[ $tags == on ]]; then
echo "<html><head><title>URLs extracted from: "${args}"</title></head><body>"
while read line; do
echo "<a href=\""${line}\"">"${line}"</a><br>"
done < tmp_1
echo "</body></html>"
else
cat tmp_1
fi
}
ce script ne fonctionne pas bien car il ne ramène qu'une occurence par ligne alors qu'il y en a plusieurs.
et il ne tient pas compte de 'url.php?cs=
Ce que je cherche à faire est-il possible avec la commande sed et comment?
3 réponses
-
salut,
entre guillemets, le point d'interrogation est interprété par le shell, et non tel quel par sed.
regarde si ça fonctionne's/href='\''url.php?cs=//gI'
-
Salut,
Avec un exemple plus concret de tes fichiers en entrée et des url's qu'ils contiennent ce serait peut être mieux... en attendant voici un exemple basé sur ton message :
$ cat plop Je souhaite extraire d'un fichier, des url de type <a href='url.php?cs=1&ce=2&start=1' sachant qu'une ligne peut en contenir plusieurs. Je souhaite extraire d'un fichier, des url de type <a href='url.php?cs=1&ce=2&start=2' sachant qu'une ligne peut en contenir plusieurs. Je souhaite extraire d'un fichier, des url de type <a href='url.php?cs=1&ce=2&start=3' sachant <a href='url.php?cs=1&ce=2&start=4' qu'une ligne peut en contenir plusieurs. Je souhaite extraire d'un fichier, des url de type <a href='url.php?cs=1&ce=2&start=5' sachant qu'une ligne peut en <a href='url.php?cs=1&ce=2&start=6' contenir plusieurs. Je souhaite extraire d'un fichier, des url de type <a href='url.php?cs=1&ce=2&start=7' sachant qu'une ligne peut en contenir plusieurs. Je souhaite extraire d'un fichier, des url de type <a href='url.php?cs=1&ce=2&start=8' sachant qu'une ligne peut en contenir plusieurs. Je souhaite extraire d'un fichier, des url de type <a href='url.php?cs=1&ce=2&start=9' sachant <a href='url.php?cs=1&ce=2&start=10' qu'une ligne peut en contenir plusieurs. Je souhaite extraire d'un fichier, des url de type <a href='url.php?cs=1&ce=2&start=11' sachant qu'une ligne peut en <a href='url.php?cs=1&ce=2&start=12' contenir plusieurs. $ cat plop | egrep -o "='[^']*'" | tr -d "=*'" url.php?cs1&ce2&start1 url.php?cs1&ce2&start2 url.php?cs1&ce2&start3 url.php?cs1&ce2&start4 url.php?cs1&ce2&start5 url.php?cs1&ce2&start6 url.php?cs1&ce2&start7 url.php?cs1&ce2&start8 url.php?cs1&ce2&start9 url.php?cs1&ce2&start10 url.php?cs1&ce2&start11 url.php?cs1&ce2&start12 $
;-))
-