Hej!
Chwile temu przejrzalem po raz kolejny 'man bash' dla odswiezenia pamieci bo dawno tam nie zagladalem i w sumie szybko sklecilem pare linijek :P Moze komus sie na cos kiedys przyda... (mi by sie bardzo przydalo na CONFidence ostatnio hehe w trackie CtF)
Kod:
#!/bin/bash
for CODE in {a..z}{a..z}{a..z}; do
# wolniejsza wersja
# MD5=`echo $CODE | md5sum | cut -f 1 -d ' '`
# szybsza wersja
MD5=`echo $CODE | md5sum | awk '{print $1;}'`
echo "CODE = $CODE MD5 = $MD5"
done
Wydajnosc nie jest powalajaca, ale... no i warto dodac sobie test jesli znamy hash ktorego szukamy oszczedzajac sporo czasu na zbednych operacjach I/O (glownie echo na ekran) :P Jesli natomiast potrzeba male i duze literki to {A..z} zalatwi sprawe dodajac pare innych po drodze ktore nas nie interesuja ale to juz mniejszy problem...
wersja z cut jest sporo wolniejsza...
Kod:
$ time genmd5.sh > /dev/null
real 2m35.829s
user 0m55.859s
sys 2m27.241s
a awk radzi sobie lepiej
Kod:
real 1m45.438s
user 0m40.763s
sys 1m23.773s
EDIT:
zmiana cut na awk