|
- #!/usr/bin/env bash
- if [[ $# -ne 1 || "$1" == '--help' || "$1" == '-h' ]]; then
- printf 'Usage: extract-urls-for-archiveteam-projects PREFIX\n' >&2
- printf 'Reads URLs from stdin, extracts interesting for the different currently relevant AT projects into files prefixed by PREFIX\n' >&2
- exit 1
- fi
-
- prefix="$1"
- if [[ "${prefix}" == *[*?[]* ]]; then
- printf 'Error: prefixes containing * ? [ not supported\n' >&2
- exit 1
- fi
-
- if compgen -G "${prefix}*" >/dev/null; then
- printf 'Error: there already exist files starting with %q\n' "${prefix}" >&2
- exit 1
- fi
-
- tee \
- >(grep -Fai imgur >"${prefix}-imgur.txt") \
- >(grep -Fai -e mediafire -e mfi.re >"${prefix}-mediafire.txt") \
- >(grep -Fai pastebin.com >"${prefix}-pastebin.txt") \
- >(grep -Fai -e blogspot -e blogger >"${prefix}-blogger.txt") \
- >(grep -Fai -e telegram.me -e //t.me/ >"${prefix}-telegram.txt") \
- >/dev/null
-
- # Wait for the procsubs to terminate
- wait
-
- for f in "${prefix}"-{imgur,mediafire,pastebin,blogger,telegram}.txt; do
- if [[ -f "${f}" && ! -s "${f}" ]]; then
- printf '%q is empty, deleting\n' "${f}" >&2
- rm -- "${f}"
- fi
- done
|