web-dev-qa-db-ja.com

IPアドレスを「逆」形式に変換するBashコマンド?

IPでnslookupを実行する場合(これらはすべて例です)

nslookup 192.168.1.123

現在の出力:

411.311.211.111

望ましい出力:

111.211.311.411

より効率的な方法または組み込みのnslookupコマンドがあるかどうかを確認するだけで機能するスクリプトがあります。

ありがとう

3
Roboman1723
echo 411.311.211.111 | awk -F. '{print $4"."$3"." $2"."$1}'`

出力:

 111.211.311.411 

または

echo 411.311.211.111 | awk -F. '{OFS="."; print $4,$3,$2,$1}'
5
Cyrus

これがネイティブ関数です。 reverseip 12.34.56.78のように呼び出して、78.56.34.12を印刷します。 reversed=$(reverseip 12.34.56.78)のように呼び出して、出力を変数にキャプチャします。

reverseip () {
    local IFS
    IFS=.
    set -- $1
    echo $4.$3.$2.$1
}
1
tripleee

sedを使用:

sed -r 's/([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})/\4.\3.\2.\1/'

IPアドレスと一致し、最後から最初に印刷(逆方向)

0
αғsнιη