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>