15 октября 2023 Bash curl awk sort uniq egrep white read
Если необходимо проверить большое количество ссылок на сайте то можно воспользоваться вот таким bash скрипт
site=http://127.0.0.1:8080
curl $site 2> /dev/null | egrep -o 'href="[^"]+"' | awk -F\" '{print $2}' | grep /catalog/ | sort | uniq | while read u; do
curl $site$u -o /dev/null -w "%{http_code} $u\n" -s
done >> check-menu.txt
Данный скрипт
- скачивает главную страницу сайта: curl $site
- затем выбирает все ссылки href: egrep -o 'href="[^"]+"'
- выбирает содержимое аттрибута href: egrep -o 'href="[^"]+"'
- отбирает ссылки содержащие /catalog/: grep /catalog/
- сортирует и отбирает только уникальные ссылки: sort| uniq
- в цикле запрашивает кажду ссылку и сохраняет статус ссылки в файл check-menu.txt ;