注意
- この記事にあるスクリプトのご利用は自己責任でお願いします。
- ユニークビジョンでは、この方法でのシリアルナンバーの生成を行なっていません。ですので、ユニークビジョンが運営しているキャンペーンでは、この方法で発行したシリアルナンバーは使用しておりません。
- 動作環境は、Ubuntu 20.04.3 LTS、 Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz、です。
- あくまでも思いつきなので、この方法で発行されたシリアルナンバーが、推測可能なものであるかもしれません。その可能性がある場合は、教えて下さい!
スクリプト
16桁、数値のみ、1億行、重複無しの場合。
time cat /dev/random | od -tu8 -An -w8 | head -100000000 | grep '................' | sed 's/..*\(................\)$/\1/' | tee full | sort | uniq -c | awk '$1 > 1 {print $2}' > dup
time for i in `cat dup`
do
ed full <<END
1
g/$i/d
w
q
END
done
結果
1つめのスクリプト
real 11m50.310s
user 13m59.769s
sys 0m56.764s
2つめのスクリプト
real 0m36.378s
user 0m30.046s
sys 0m4.580s
取得できたシリアルナンバーの数
cat full | sort | uniq | wc
99999998 99999998 1699999966
無事、15分以内で、99999998レコードのシリアルナンバーができました。
良いお年を!