Je nachdem, wie genau Sie dies tun müssen und wie hoch der erträgliche Aufwand ist, können Sie möglicherweise mit so etwas davonkommen
echo {\ ,{A..Z},{a..z},{0..9}}{\ ,{A..Z},{a..z},{0..9}}{\ ,{A..Z},{a..z},{0..9}}
Wo Sie das Bit {\, {A..Z}, {a..z}, {0..9}} für jede Menge wiederholen würden - dh wenn Sie möchten, dass jedes Wort maximal 10 Zeichen enthält, würden Sie dies tun wiederhole es 10 mal.
Der Code weist einen Fehler auf (da er am Anfang kein "kein Zeichen" erkennt, habe ich "" als Platzhalter verwendet. Dadurch werden Duplikate erstellt - dh "99" und "99". Möglicherweise Entfernen Sie diese, indem Sie es durch einen sort | uniq-Filter schieben (und möglicherweise auch tr verwenden). Abhängig von Ihrer Anwendung und der Größe der endgültigen Ausgabe kann es jedoch schwierig sein, die Liste zu erstellen.
Um eine Liste zu erstellen, die alle Permutationen ohne Duplikate ausgibt, aber in einer anderen Reihenfolge als die ursprüngliche Eingabe, die Sie verwenden könnten
for each in {\ ,{A..Z},{a..z},{0..9}}{\ ,{A..Z},{a..z},{0..9}}{\ ,{A..Z},{a..z},{0..9}} ; do echo $each; done | tr -d " " | sort -u