2017-10-16 6 views
0

J'écris un script bash qui devrait télécharger la page html et à partir de cette page extrait tous les liens vers les fichiers pdf.Imprimer les liens vers tous les fichiers PDF en utilisant bash

Je dois dire que je suis novice à bash donc pour l'instant je ne peux que grep toutes les lignes qui contient <a href et ensuite Grep ces lignes qui ont pdf mot.

Je peux barelly utiliser awk mais je ne sais pas comment écrire correctement regex pour obtenir seulement du texte en <a href="*.pdf"> où je veux avoir *.pdf.

EDIT: grep "<a href=\"*.pdf\"" ne trouve pas tous les liens vers pdfs, comment est-ce possible? Par exemple <a href="lorem ipsum.pdf">...</a> est introuvable.

Répondre

1

Essayez cette ligne pour l'ensemble de la chaîne html. Fonctionne parfaitement pour moi.

grep -io "<a[[:space:]]*href=\"[^\"]\+\.pdf\">" | awk 'BEGIN{FS="\""}{print $2}'