Saya mencoba menampilkan setiap kemungkinan kombinasi antara {a..z} dan {0..9}; output ini tanpa menggunakan alat suka 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
Bisakah kita lakukan dengan regex? Saya mencoba kombinasi hal-hal seperti:
for i in $(<magic here>); do
echo "$i"
done
Tapi itu tidak membuat saya ...
Bergantung pada seberapa tepat Anda perlu melakukannya, dan overhead yang bisa ditoleransi, Anda mungkin bisa lolos dengan sesuatu seperti
Di mana Anda akan mengulangi {\, {A..Z}, {a..z}, {0..9}} bit untuk setiap set - yaitu jika Anda ingin setiap kata maksimum 10 karakter, Anda akan mengulanginya 10 kali.
Ada kekurangan dalam kode itu (karena tidak mengenali "tidak ada karakter" di awal, saya telah menggunakan "" sebagai pengganti. Ini akan membuat duplikat - yaitu "99" dan "99". Anda dapat singkirkan ini dengan mendorongnya melalui semacam | uniq filter (dan mungkin menggunakan tr juga), tetapi tergantung pada aplikasi Anda dan ukuran hasil akhir, Anda mungkin kesulitan dengan waktu yang diperlukan untuk membuat daftar.
Untuk membuat daftar yang akan menampilkan semua permutasi tanpa duplikat, tetapi dalam urutan berbeda dengan input asli Anda, Anda dapat menggunakan
sumber