aboutsummaryrefslogtreecommitdiff
path: root/bin/hurl
blob: eedb708aa55c824db28a88143556c00a151ccb33 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env bash

#
# Extract <a href="..."> URLs from an HTML document or documents.
#
# Author: Tom Ryder <tom@sanctum.geek.nz>
# Copyright: 2016
# License: Public domain
#

# Set a sensible locale so that sort(1) doesn't act dumbly
LANG=C.UTF-8
export LANG

# Check we have the programs we need
hash pup || exit

# Emit the content of the args, or stdin
cat -- "${@:-/dev/stdin}" |  ## shellcheck disable=SC2002

# Pipe it through a pup filter to get all the values of the a href elements
pup -p 'a attr{href}' |

# Sort it uniquely
sort | uniq