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 "$@"
 |