« X のキーボードレイアウトが英字配列になってしまう | トップページ | bash shell prompt 設定 »

IP アドレスを 2進数および 10進数に変換 (perl)

IP アドレスを 2進数および 10進数に変換 (perl)


キーワード: IPアドレス変換、2進数、10進数

                                   

このエントリーをはてなブックマークに追加

文字列のIPアドレスを数値に変換

ログ解析や統計処理などを行う際、文字列のIPアドレス(例えば"10.0.0.1" など)を、数値("167772161" など)に変換して処理したいことがあります。その際に使える文字列の IPアドレスを数値に変換する簡単な perl スクリプトを紹介します。

IP アドレス 10.0.0.1 を 2進数および 10進数に変換する

perl -e 'my $bin = sprintf "%08b%08b%08b%08b", 10,0,0,1; print "$bin\n"; print oct("0b$bin") . "\n"';

00001010000000000000000000000001
167772161

その逆

perl -e '$dec = 167772161 ; $bin = sprintf "%032b", $dec; my @list = $bin =~ m/.{8}/g;  print oct("0b$list[0]") . "." . oct("0b$list[1]") . "." . oct("0b$list[2]") . "." . oct("0b$list[3]") . "\n"'

10.0.0.1

スポンサーリンク

« X のキーボードレイアウトが英字配列になってしまう | トップページ | bash shell prompt 設定 »

Linux」カテゴリの記事

Solaris」カテゴリの記事

技術一般」カテゴリの記事

記事一覧

スポンサードリンク


Twitter


無料ブログはココログ

ブログ検索