If you are doing this to solve Wordle puzzles, you are lacking the additional constraints that would arise if you've guessed a word that has some letters that must be present but are not in the right place. Here is a piped command line that applies all the known constraints as an example (this is for Windows cmd.exe, modify as needed for Linux or MacOS command syntax):
grep -E "^[a-z]{5}$" c:\bin\words.txt | grep "pr.[^i]." | grep -v [outyase] | sed "/i/!d"
Explanation:
The first grep command uses -E to enable extended regular expressions. "^" matches the beginning of the line and "$" matches the end of the line, so this returns all 5-letter words (without using -E, you could say grep "^[a-z][a-z][a-z][a-z][a-z]$" instead). The second argument is a file with a word dictionary.
In the second command, a 5-letter pattern "pr.[^i]." is given; the first two letters are "pr", the third and fifth can be anything, and the fourth letter can be anything but "i". If you have more than one letter that cannot be in one position, just include all letters within the brackets. The ^ within the brackets signifies letters to NOT match.
The fourth command returns all remaining words that don't contain any of the letters [outyase]. The argument -v prints non-matching lines.
The fifth command uses sed rather than grep to delete any remaining words that don't contain i. You could specify an additional letter, say m, with sed "/i/!d;/m/!d".