Last active
May 7, 2016 08:07
-
-
Save papiron/e9459920e284a47f50620bd5986b4de4 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
元ネタはこちら。 | |
真・マイナンバーシェル芸 | |
http://papiro.hatenablog.jp/entry/2016/04/09/005547 | |
チェックデジットに適合したマイナンバーをひたすら列挙するだけの誰得シェルスクリプト。 | |
高負荷がかかり危険なので、念のため下記の止め方を必ず確認しておくべし。 | |
GNU seqコマンドとmawkコマンドを利用。バックグラウンド10並列で処理。 | |
マシンに高負荷がかかり危険なので、念のため1億行を出力した時点で強制終了させている。 | |
処理速度は私が使ってるMacbook Air(物理2コア論理4コア)で1分30秒程度。 | |
MacなのでGNU seqがgseqになっているが、Linuxの人ならseqで。 | |
mawkじゃなくてもいいけど、GNU awkだと処理速度は半減。 | |
****************************** mynumber_parallel.bash ******************************* | |
#!/bin/bash | |
time { | |
gseq -w 0 09999999999 | mawk '{c=($1*6+$2*5+$3*4+$4*3+$5*2+$6*7+$7*6+$8*5+$9*4+$10*3+$11*2)%11;d=c<=1?0:(11-c);print $0 d}' FS= & | |
gseq 10000000000 19999999999 | mawk '{c=($1*6+$2*5+$3*4+$4*3+$5*2+$6*7+$7*6+$8*5+$9*4+$10*3+$11*2)%11;d=c<=1?0:(11-c);print $0 d}' FS= & | |
gseq 20000000000 29999999999 | mawk '{c=($1*6+$2*5+$3*4+$4*3+$5*2+$6*7+$7*6+$8*5+$9*4+$10*3+$11*2)%11;d=c<=1?0:(11-c);print $0 d}' FS= & | |
gseq 30000000000 39999999999 | mawk '{c=($1*6+$2*5+$3*4+$4*3+$5*2+$6*7+$7*6+$8*5+$9*4+$10*3+$11*2)%11;d=c<=1?0:(11-c);print $0 d}' FS= & | |
gseq 40000000000 49999999999 | mawk '{c=($1*6+$2*5+$3*4+$4*3+$5*2+$6*7+$7*6+$8*5+$9*4+$10*3+$11*2)%11;d=c<=1?0:(11-c);print $0 d}' FS= & | |
gseq 50000000000 59999999999 | mawk '{c=($1*6+$2*5+$3*4+$4*3+$5*2+$6*7+$7*6+$8*5+$9*4+$10*3+$11*2)%11;d=c<=1?0:(11-c);print $0 d}' FS= & | |
gseq 60000000000 69999999999 | mawk '{c=($1*6+$2*5+$3*4+$4*3+$5*2+$6*7+$7*6+$8*5+$9*4+$10*3+$11*2)%11;d=c<=1?0:(11-c);print $0 d}' FS= & | |
gseq 70000000000 79999999999 | mawk '{c=($1*6+$2*5+$3*4+$4*3+$5*2+$6*7+$7*6+$8*5+$9*4+$10*3+$11*2)%11;d=c<=1?0:(11-c);print $0 d}' FS= & | |
gseq 80000000000 89999999999 | mawk '{c=($1*6+$2*5+$3*4+$4*3+$5*2+$6*7+$7*6+$8*5+$9*4+$10*3+$11*2)%11;d=c<=1?0:(11-c);print $0 d}' FS= & | |
gseq 90000000000 99999999999 | mawk '{c=($1*6+$2*5+$3*4+$4*3+$5*2+$6*7+$7*6+$8*5+$9*4+$10*3+$11*2)%11;d=c<=1?0:(11-c);print $0 d}' FS= & | |
wait | |
} | head -n 100000000 > /dev/null | |
************************************************************************************ | |
万一暴走しちゃった時はこれで停止!止められないと死ぬ・・・ | |
************************ kill.sh *********************** | |
#!/bin/sh | |
ps a | grep mawk | grep -v grep | self 1 | xargs kill | |
******************************************************** |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment