Public feed #528662

recursive combine in shell

public text v1 · immutable
Raw Edit
·published 2007-06-01 17:04 UTC
rendered paste body

# Usage: domains_list.sh <input> <output> <combos> <suffix> <retries>

input=$1; output=$2; combos=$3; suffix=$4; retries=$5; 

# Read from input
#
array=($(<"$input"));

# Mix the names together
#
function mix () {

    if (($1 < 1)); then echo "$name"
    
        else for x in "${array[@]}"; do echo "$(combos $(($1-1)) $x$name)"; done
		
    fi 
    
}

names=$(mix $combos);

# If they're available, let us know
#
for name in "${names[@]}"; do

    tries=0

    while ((tries<retries)); do

        result=$(whois "$name" 2>&1) || { ((tries++)); sleep 1; continue; }

        if grep -q 'No match' <<< "$result"; then echo "+ $name"; echo $name >> "$output"; else echo "- $name"; fi

        break

    done

    # If there's an error
    #
    if ((tries==3)); then echo "/ $name"; fi

    # Get some rest
    #
    sleep $delay

done