Команда wget для загрузки веб-страницы и переименования файла с заголовком html? - PullRequest
0 голосов
/ 17 октября 2019

Я хотел бы загрузить html-страницу, и имя файла должно быть заголовком html-страницы.

Я нашел команду для получения заголовка html:

wget -qO- 'https://www.linuxinsider.com/story/Austrumi-Linux-Has-Great-Potential-if-You-Speak-Its-Language-86285.html/' |   gawk -v IGNORECASE=1 -v RS='</title' 'RT{gsub(/.*<title[^>]*>/,"");print;exit}'

И это напечатано так: у Austrumi Linux большой потенциал, если вы говорите на его языке |Отзывы |LinuxInsider

Найдено на: https://unix.stackexchange.com/questions/103252/how-do-i-get-a-websites-title-using-command-line

Как я могу передать заголовок обратно в wget, чтобы использовать его в качестве имени файла при загрузке этой веб-страницы?

РЕДАКТИРОВАТЬ: вВ случае, если нет способа сделать это напрямую в wget, я нашел способ просто переименовать html-файлы после загрузки

Переименование файлов HTML с использованием тегов

1 Ответ

1 голос
/ 17 октября 2019

Вы не можете wget файла, проанализировать его содержимое и затем выполнить то же самое выполнение wget, которое скачало файл волшебным образом, вернуться назад во времени и вывести его в новый файл, названный в честь его содержимого, которое вы проанализировали на шаге 2. Просто выполнитеэто:

wget  '...' > tmp &&
name=$(gawk '...' tmp) &&
mv tmp "$name"

Добавьте защиту от / в name при необходимости.

...