Ich versuche, jede mögliche Kombination zwischen {a..z} und {0..9} auszugeben. diese Ausgabe ohne Verwendung von Werkzeugen wie crunch
:
$ head wordlist.txt
a
b
c
1
2
3
aa
ab
ac
a1
$ tail wordlist.txt
333332c
3333321
3333322
3333323
333333a
333333b
333333c
3333331
3333332
3333333
Können wir mit Regex machen? Ich habe versucht, Kombinationen von Dingen wie:
for i in $(<magic here>); do
echo "$i"
done
Aber das brachte mich nirgendwo hin ...
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
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
quelle