シェル芸でビット数の一覧を出力する
Pocket

bashの算術式についての記事を見てて、ビットシフトを算術式でできるよというのを見かけたので、それを利用してビット数一覧を出力させてみる。

eval echo "$((1<<"{0..16}"))" | fmt -1
eval echo "$((1<<"{0..32}"))" | fmt -1 | numfmt --to=iec # MBとかに変換する
blacknon@BS-PUB-UBUNTU-01:~$ eval echo "$((1<<"{0..16}"))" | fmt -1
1
2
4
8
16
32
64
128
256
512
1024
2048
4096
8192
16384
32768
65536
blacknon@BS-PUB-UBUNTU-01:~$ eval echo "$((1<<"{0..32}"))" | fmt -1 | numfmt --to=iec # MBとかに変換する
1
2
4
8
16
32
64
128
256
512
1.0K
2.0K
4.0K
8.0K
16K
32K
64K
128K
256K
512K
1.0M
2.0M
4.0M
8.0M
16M
32M
64M
128M
256M
512M
1.0G
2.0G
4.0G
Sponsored Links

…まぁ、実はseq使ったほうが短いのだけど。

seq -f'2^%g' 0 32 | bc | numfmt --to=iec
blacknon@BS-PUB-UBUNTU-01:~$ seq -f'2^%g' 0 32 | bc | numfmt --to=iec
1
2
4
8
16
32
64
128
256
512
1.0K
2.0K
4.0K
8.0K
16K
32K
64K
128K
256K
512K
1.0M
2.0M
4.0M
8.0M
16M
32M
64M
128M
256M
512M
1.0G
2.0G
4.0G

 

Pocket

Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

メールアドレスが公開されることはありません。

*