That's true. I felt the need to put some small time breaks to disrupt a bit predictability of the script and avoid making the script spit out from memory. Ideally would be even better if those commands would be shufed before execution but think i need to create 2 scripts, one shufing those commands and the other executing them in that new order.
Also I added one useful feature where every char has it's own small statistic which shows how many times repeated itself and what did not show up at all and which one only appeared once. But i stumbled on
echo "!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~"
that again needs escaping. This is needed instead of making another noobish test file containing !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ and cat-ing it before the other stats shows underneath.
Think i can even output a rank of generated pass knowing what repeated what not, doubled, tripled and so on. So each generated string will receive a ratting 1-10 where 1 is worse and 10 is best.
The code for that is this one
#!/bin/bash
echo " "
echo " ➢ Zero Trust Pass, Entangle "
echo " -------------------------"
sleep 0.1s
echo " ➢ Search Space Depth 94, pass chassis 24|18|18| 3| "
sleep 0.1s
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t1
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t2
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t3
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t4
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t5
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t6
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t7
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t8
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t9
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t10
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t11
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t12
sleep 0.3s
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t13
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t14
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t15
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t16
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t17
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t18
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t19
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t20
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t21
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t22
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t23
tr -Cd '!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~' < /dev/random | head -c1 > t24
sleep 0.3s
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t25
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t26
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t27
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t28
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t29
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t30
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t31
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t32
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t33
sleep 0.3s
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t34
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t35
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t36
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t37
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t38
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t39
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t40
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t41
tr -Cd 'abcdefghijklmnopqrstuvwxyz' < /dev/random | head -c1 > t42
sleep 0.3s
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t43
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t44
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t45
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t46
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t47
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t48
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t49
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t50
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t51
sleep 0.3s
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t52
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t53
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t54
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t55
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t56
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t57
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t58
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t59
tr -Cd 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' < /dev/random | head -c1 > t60
sleep 0.3s
tr -Cd '0123456789' < /dev/random | head -c1 > t61
tr -Cd '0123456789' < /dev/random | head -c1 > t62
tr -Cd '0123456789' < /dev/random | head -c1 > t63
cat t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62 t63 > sf
cat sf | fold -w 1 > sf1
shuf sf1 > fin
shuf fin > sf1
shuf sf1 > fin
shuf fin > sf1
shuf sf1 > fin
shuf fin > sf1
shuf sf1 > fin
awk -F '!' '{s+=(NF-1)} END {print s}' fin > count1
awk -F '"' '{s+=(NF-1)} END {print s}' fin > count2
awk -F '#' '{s+=(NF-1)} END {print s}' fin > count3
awk -F '$' '{s+=(NF-1)} END {print s}' fin > count4
awk -F '%' '{s+=(NF-1)} END {print s}' fin > count5
awk -F '&' '{s+=(NF-1)} END {print s}' fin > count6
awk -F ''\''' '{s+=(NF-1)} END {print s}' fin > count7
awk -F '(' '{s+=(NF-1)} END {print s}' fin > count8
awk -F ')' '{s+=(NF-1)} END {print s}' fin > count9
awk -F '*' '{s+=(NF-1)} END {print s}' fin > count10
awk -F '+' '{s+=(NF-1)} END {print s}' fin > count11
awk -F ',' '{s+=(NF-1)} END {print s}' fin > count12
awk -F '-' '{s+=(NF-1)} END {print s}' fin > count13
awk -F '.' '{s+=(NF-1)} END {print s}' fin > count14
awk -F '/' '{s+=(NF-1)} END {print s}' fin > count15
awk -F ':' '{s+=(NF-1)} END {print s}' fin > count16
awk -F ';' '{s+=(NF-1)} END {print s}' fin > count17
awk -F '<' '{s+=(NF-1)} END {print s}' fin > count18
awk -F '=' '{s+=(NF-1)} END {print s}' fin > count19
awk -F '>' '{s+=(NF-1)} END {print s}' fin > count20
awk -F '?' '{s+=(NF-1)} END {print s}' fin > count21
awk -F '@' '{s+=(NF-1)} END {print s}' fin > count22
awk -F '[' '{s+=(NF-1)} END {print s}' fin > count23
awk -F '\' '{s+=(NF-1)} END {print s}' fin > count24
awk -F ']' '{s+=(NF-1)} END {print s}' fin > count25
awk -F '^' '{s+=(NF-1)} END {print s}' fin > count26
awk -F '_' '{s+=(NF-1)} END {print s}' fin > count27
awk -F '`' '{s+=(NF-1)} END {print s}' fin > count28
awk -F '{' '{s+=(NF-1)} END {print s}' fin > count29
awk -F '|' '{s+=(NF-1)} END {print s}' fin > count30
awk -F '}' '{s+=(NF-1)} END {print s}' fin > count31
awk -F '~' '{s+=(NF-1)} END {print s}' fin > count32
awk -F 'a' '{s+=(NF-1)} END {print s}' fin > count33
awk -F 'b' '{s+=(NF-1)} END {print s}' fin > count34
awk -F 'c' '{s+=(NF-1)} END {print s}' fin > count35
awk -F 'd' '{s+=(NF-1)} END {print s}' fin > count36
awk -F 'e' '{s+=(NF-1)} END {print s}' fin > count37
awk -F 'f' '{s+=(NF-1)} END {print s}' fin > count38
awk -F 'g' '{s+=(NF-1)} END {print s}' fin > count39
awk -F 'h' '{s+=(NF-1)} END {print s}' fin > count40
awk -F 'i' '{s+=(NF-1)} END {print s}' fin > count41
awk -F 'j' '{s+=(NF-1)} END {print s}' fin > count42
awk -F 'k' '{s+=(NF-1)} END {print s}' fin > count43
awk -F 'l' '{s+=(NF-1)} END {print s}' fin > count44
awk -F 'm' '{s+=(NF-1)} END {print s}' fin > count45
awk -F 'n' '{s+=(NF-1)} END {print s}' fin > count46
awk -F 'o' '{s+=(NF-1)} END {print s}' fin > count47
awk -F 'p' '{s+=(NF-1)} END {print s}' fin > count48
awk -F 'q' '{s+=(NF-1)} END {print s}' fin > count49
awk -F 'r' '{s+=(NF-1)} END {print s}' fin > count50
awk -F 's' '{s+=(NF-1)} END {print s}' fin > count51
awk -F 't' '{s+=(NF-1)} END {print s}' fin > count52
awk -F 'u' '{s+=(NF-1)} END {print s}' fin > count53
awk -F 'v' '{s+=(NF-1)} END {print s}' fin > count54
awk -F 'w' '{s+=(NF-1)} END {print s}' fin > count55
awk -F 'x' '{s+=(NF-1)} END {print s}' fin > count56
awk -F 'y' '{s+=(NF-1)} END {print s}' fin > count57
awk -F 'z' '{s+=(NF-1)} END {print s}' fin > count58
awk -F 'A' '{s+=(NF-1)} END {print s}' fin > count59
awk -F 'B' '{s+=(NF-1)} END {print s}' fin > count60
awk -F 'C' '{s+=(NF-1)} END {print s}' fin > count61
awk -F 'D' '{s+=(NF-1)} END {print s}' fin > count62
awk -F 'E' '{s+=(NF-1)} END {print s}' fin > count63
awk -F 'F' '{s+=(NF-1)} END {print s}' fin > count64
awk -F 'G' '{s+=(NF-1)} END {print s}' fin > count65
awk -F 'H' '{s+=(NF-1)} END {print s}' fin > count66
awk -F 'I' '{s+=(NF-1)} END {print s}' fin > count67
awk -F 'J' '{s+=(NF-1)} END {print s}' fin > count68
awk -F 'K' '{s+=(NF-1)} END {print s}' fin > count69
awk -F 'L' '{s+=(NF-1)} END {print s}' fin > count70
awk -F 'M' '{s+=(NF-1)} END {print s}' fin > count71
awk -F 'N' '{s+=(NF-1)} END {print s}' fin > count72
awk -F 'O' '{s+=(NF-1)} END {print s}' fin > count73
awk -F 'P' '{s+=(NF-1)} END {print s}' fin > count74
awk -F 'Q' '{s+=(NF-1)} END {print s}' fin > count75
awk -F 'R' '{s+=(NF-1)} END {print s}' fin > count76
awk -F 'S' '{s+=(NF-1)} END {print s}' fin > count77
awk -F 'T' '{s+=(NF-1)} END {print s}' fin > count78
awk -F 'U' '{s+=(NF-1)} END {print s}' fin > count79
awk -F 'V' '{s+=(NF-1)} END {print s}' fin > count80
awk -F 'W' '{s+=(NF-1)} END {print s}' fin > count81
awk -F 'X' '{s+=(NF-1)} END {print s}' fin > count82
awk -F 'Y' '{s+=(NF-1)} END {print s}' fin > count83
awk -F 'Z' '{s+=(NF-1)} END {print s}' fin > count84
awk -F '0' '{s+=(NF-1)} END {print s}' fin > count85
awk -F '1' '{s+=(NF-1)} END {print s}' fin > count86
awk -F '2' '{s+=(NF-1)} END {print s}' fin > count87
awk -F '3' '{s+=(NF-1)} END {print s}' fin > count88
awk -F '4' '{s+=(NF-1)} END {print s}' fin > count89
awk -F '5' '{s+=(NF-1)} END {print s}' fin > count90
awk -F '6' '{s+=(NF-1)} END {print s}' fin > count91
awk -F '7' '{s+=(NF-1)} END {print s}' fin > count92
awk -F '8' '{s+=(NF-1)} END {print s}' fin > count93
awk -F '9' '{s+=(NF-1)} END {print s}' fin > count94
cat count1 count2 count3 count4 count5 count6 count7 count8 count9 count10 count11 count12 count13 count14 count15 count16 count17 count18 count19 count20 count21 count22 count23 count24 count25 count26 count27 count28 count29 count30 count31 count32 count33 count34 count35 count36 count37 count38 count39 count40 count41 count42 count43 count44 count45 count46 count47 count48 count49 count50 count51 count52 count53 count54 count55 count56 count57 count58 count59 count60 count61 count62 count63 count64 count65 count66 count67 count68 count69 count70 count71 count72 count73 count74 count75 count76 count77 count78 count79 count80 count81 count82 count83 count84 count85 count86 count87 count88 count89 count90 count91 count92 count93 count94 > all
#paste spc all | column -s $'\t' -t > tc4
cat fin | tr -d '\n' | tr -d ' ' > string
echo "---------------------------------------------------------------"
cat string
echo "
---------------------------------------------------------------"
rm string sf sf1 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23 t24 t25 t26 t27 t28 t29 t30 t31 t32 t33 t34 t35 t36 t37 t38 t39 t40 t41 t42 t43 t44 t45 t46 t47 t48 t49 t50 t51 t52 t53 t54 t55 t56 t57 t58 t59 t60 t61 t62 t63
echo " ➢ String generated successfully"
echo " -----------------------------"
echo " ➢ Temp files cleared"
echo " ------------------"
echo " ➢ Char repetition number"
echo " ----------------------"
echo " "
cat all | tr -d '\n' > tc4
cat ord
echo " "
cat tc4
rm fin tc4 all count1 count2 count3 count4 count5 count6 count7 count8 count9 count10 count11 count12 count13 count14 count15 count16 count17 count18 count19 count20 count21 count22 count23 count24 count25 count26 count27 count28 count29 count30 count31 count32 count33 count34 count35 count36 count37 count38 count39 count40 count41 count42 count43 count44 count45 count46 count47 count48 count49 count50 count51 count52 count53 count54 count55 count56 count57 count58 count59 count60 count61 count62 count63 count64 count65 count66 count67 count68 count69 count70 count71 count72 count73 count74 count75 count76 count77 count78 count79 count80 count81 count82 count83 count84 count85 count86 count87 count88 count89 count90 count91 count92 count93 count94
echo "
"
echo " ➢ Done"
echo "
⚀ ⚁ ⚂ [Artix community, 2022] ⚃ ⚄ ⚅"
echo " "
exec bash
Also there's a need for another text file called ord (from order) that solved my momentarily echo-ing that ugly string. Is not that big deal though having 1 text file
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789