48 lines
723 B
Bash
Executable file
48 lines
723 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
directory=""
|
|
dryrun="false"
|
|
|
|
|
|
function multigrep(){
|
|
# will grep for each argument passed
|
|
|
|
if [ -n "$1" ]; then
|
|
local i="$1"
|
|
shift
|
|
cat - | grep "$i" | multigrep "$@"
|
|
else
|
|
cat -
|
|
fi
|
|
}
|
|
|
|
function main(){
|
|
if [ "$dryrun" == "true" ]; then
|
|
curl "$directory" | hq a attr href | multigrep "$@"
|
|
else
|
|
curl "$directory" | hq a attr href | multigrep "$@" | awk "{print \"$directory\" \$1}" | aria2c -i -
|
|
fi
|
|
}
|
|
|
|
if [ -n "$1" ]; then
|
|
while [ -n "$1" ]; do
|
|
case "$1" in
|
|
"-d"|"--dry-run")
|
|
dryrun="true"
|
|
shift
|
|
;;
|
|
*)
|
|
directory="$1"
|
|
shift
|
|
main "$@"
|
|
exit 0
|
|
;;
|
|
esac
|
|
done
|
|
|
|
else
|
|
echo "No url passed"
|
|
fi
|
|
|
|
shift
|
|
curl "$directory" | hq a attr href | multigrep "$@"
|