Use crunch to generate a wordlist with a specific pattern (each character from the set @,%^ denotes a lowercase / uppercase / number / special char including space). You can also include an alphabet.

crunch <minlen> <maxlen> [alpha] -t <pattern> -o [outfile]

Alternatively, use a prebuilt charset file and specify the name of the set you wish to use:

crunch <min> <max> -f /usr/share/crunch/charset.lst [alpha, i.e. mixalpha] -o <out>