【回答】
bash でipアドレスを表示させる方法です。
ifconfig eth0 | grep "inet addr" | sed 's/\s\{1,\}/ /g' | cut -d' ' -f3 | cut -d':' -f2
(1)以下は ifconfig の結果、 inet addr の行のみを取り出す。
ifconfig eth0 | grep "inet addr"
inet addr:10.1.1.1 Bcast:10.1.1.255 Mask:255.255.255.0
(2)以下1文字以上の連続したスペース等の空白を1文字のスペースに置換する
ifconfig eth0 | grep "inet addr" | sed 's/\s\{1,\}/ /g'
inet addr:10.1.1.1 Bcast:10.1.1.255 Mask:255.255.255.0
(*) \{1,\} はsed の書式で1回以上の繰り返しを意味します。
(3)以下で空白を区切り記号として3番目をカットする。先頭にスペースが入っているので実質二番目
ifconfig eth0 | grep "inet addr" | sed 's/\s\{1,\}/ /g' | cut -d' ' -f3
addr:10.1.1.1
(4)以下で":"を区切り記号として2番目をカットする。
ifconfig eth0 | grep "inet addr" | sed 's/\s\{1,\}/ /g' | cut -d' ' -f3 | cut -d':' -f2
10.1.1.1
(*)本ページは Redhat Enterprise Linux 5以後を想定しています。
最終更新日:2013/10/22
[Redhat Enterprise linux 6(EL) FAQ トップへ]
[FAQ CENTER トップ]