2016-05-29 6 views
2

Ich versuche, eine Website, die semi-vorhersagbare URLs verwendet, herunterladen, was bedeutet, dass die URL immer mit einer zufälligen fünfstelligen alphanumerischen Zeichenfolge endet. Ich habe eine Datei mit Crunch mit der zufälligen Zeichenfolge mit dem Befehl:wget Link von zufälliger Zeile in Datei

crunch 5 5 abcdefghijklmnopqrstuvwxyz123456789 > possible_links 

Dann habe ich ein Bash-Datei erstellt, um die Linien zu rufen und die Links wget:

#!/bin/bash 
FILE=possible_links 
while read line; do 
     wget -q --wait=20 www.ghostbin.com/paste/${line} 
done < $FILE 

aber offensichtlich, es wird zu gehe zu aaaaa, dann aaaab, dann aaaac, aaaad, etc etc, gibt es einen Weg, um es zu zufälligen Linien zu machen?

+0

'aber offensichtlich ist es los zu gehen mit out' getan aaaaa' < "$ FILE", nicht wahr? – sjsam

+0

@sjsam Yea Ich habe eine Kopie einfügen und nicht die <$ FILE, die es keine Anführungszeichen, obwohl – Matt

+0

die Frage dann zu greifen. – sjsam

Antwort

2

Verwenden mktemp --dry-run Option:

#!/bin/bash 
while true # or specify a count using something like while [ $count -le 20 ] 
do 
rand_str="$(mktemp --dry-run XXXXX)" # 5 Xs for five random characters 
    wget -q --wait=20 www.ghostbin.com/paste/${rand_str} 
# if you use count increment count ie do '((count++))' else you get infinite loop 
done 

Allgemeine Lösung (für n zufällige Zeichen)

str=$(printf "%-10s" "X") # here n=10 
while condition 
do 
rand_str=$(mktemp --dry-run ${str// /X}) 
. 
.