извлечь pdf-файлы из уже загруженного index.html, чтобы получить их, даже если есть несколько pdf-файлов с grep

Бродяга

Мне нравится использовать Vagrant для такой настройки. Вы можете либо использовать стандартные бокс-файлы CentOS/Ubuntu/Debian(.box)в качестве начальных базовых боксов, либо вы можете начать со стандартного ISO и создать с его помощью свой собственный бокс-файл Vagrant.

Здесь находятся.boxфайлы , которые обычно используются большинством:

Пример

Теперь возьмите один из образцов Vagrantfileс:

$ cat Vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
end

или вы можете использовать один из моих в моем репозитории github.com vagrantfiles . Теперь запустите его и войдите в него по SSH:

$ vagrant up
$ vagrant ssh

После входа настройте его. Когда вы закончите, выйдите из виртуальной машины. Теперь вы можете упаковать его:

$ vagrant package --base my-centos7

После этого вы получите файл.box. На этот файл.box можно ссылаться в других Vagrantfileдля дальнейшего повторного использования.

Управление .boxфайлами

Если вы просто хотите загрузить файл .box, вы можете использовать vagrant, чтобы сделать это следующим образом:

$ vagrant box add centos/7

Дополнительные сведения об использовании см. в vagrant box.

Ссылки

0
04.09.2020, 21:50
1 ответ

Поскольку у вас есть GNU sed, вы можете установить GNU awk. С GNU awk для мульти -char RS и RT:

$ awk -v RS='href="http[^"]+.pdf"' -F'"' 'RT{$0=RT; print $2}' file
https://ecole-euclid.cnrs.fr/wp-content/uploads/EDE2019_Henrot-Versillé-C1_L1.pdf
https://ecole-euclid.cnrs.fr/wp-content/uploads/EDE2019_Henrot-Versillé_C1_L2.pdf
https://ecole-euclid.cnrs.fr/wp-content/uploads/EDE2018_Henrot-Versillé_C3.pdf
https://ecole-euclid.cnrs.fr/wp-content/uploads/EDE2018_Martinelli_C2_L1_Bayesian.pdf
https://ecole-euclid.cnrs.fr/wp-content/uploads/EDE2018_Martinelli_C2_TD_Bayesian.pdf

в противном случае использование любого awk в любой оболочке на каждом компьютере UNIX:

$ awk '{
    while ( match($0,/href="http[^"]+.pdf"/) ) {
        split(substr($0,RSTART,RLENGTH),f,/"/)
        print f[2]
        $0 = substr($0,RSTART+RLENGTH)
    }
}' file
https://ecole-euclid.cnrs.fr/wp-content/uploads/EDE2019_Henrot-Versillé-C1_L1.pdf
https://ecole-euclid.cnrs.fr/wp-content/uploads/EDE2019_Henrot-Versillé_C1_L2.pdf
https://ecole-euclid.cnrs.fr/wp-content/uploads/EDE2018_Henrot-Versillé_C3.pdf
https://ecole-euclid.cnrs.fr/wp-content/uploads/EDE2018_Martinelli_C2_L1_Bayesian.pdf
https://ecole-euclid.cnrs.fr/wp-content/uploads/EDE2018_Martinelli_C2_TD_Bayesian.pdf

Просто направьте этот вывод на xargs -n 1 curl -O, чтобы загрузить PDF-файлы (при отсутствии пробелов в URL-адресе ).

1
28.04.2021, 23:07

Теги

Похожие вопросы