Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

बैश में लंबे इंट को डॉटेड क्वाड आईपी में कुशलता से कैसे बदलें

चूंकि आपने बैश के लिए कहा था:

INET_NTOA() { 
    local IFS=. num quad ip e
    num=$1
    for e in 3 2 1
    do
        (( quad = 256 ** e))
        (( ip[3-e] = num / quad ))
        (( num = num % quad ))
    done
    ip[3]=$num
    echo "${ip[*]}"
}

INET_ATON ()
{
    local IFS=. ip num e
    ip=($1)
    for e in 3 2 1
    do
        (( num += ip[3-e] * 256 ** e ))
    done
    (( num += ip[3] ))
    echo "$num"
}

उदाहरण:

$ INET_ATON 10.2.1.255
167903743
$ INET_NTOA 167903743
10.2.1.255

यहाँ एक संस्करण है जो मेरे द्वारा आजमाए गए बॉर्न-व्युत्पन्न शेल में काम करेगा, जिसमें डैश, ksh, बैश के कई संस्करण, बिजीबॉक्स ऐश, zsh (-y के साथ) शामिल हैं। ) और यहां तक ​​कि हीरलूम बॉर्न शेल

INET_NTOA() {
    num=$1
    ip=
    for e in 3 2 1
    do
        quad=`echo "256 ^ $e" | bc`
        if [ -n "$ip" ]
        then
            ip=$ip.
        fi
        ip=$ip`echo "$num / $quad" | bc`
        num=`echo "$num % $quad" | bc`
    done
    ip=$ip.$num
    echo "$ip"
}

INET_ATON ()
{
    num=0
    e=3
    saveIFS=$IFS
    IFS=.
    set -- $1
    IFS=$saveIFS
    for ip in "[email protected]"
    do
        num=`echo "$num + $ip * 256 ^ $e" | bc`
        e=`echo "$e - 1" | bc`
    done
    echo "$num"
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. इको MYSQL परिणाम प्रदर्शन खाली पृष्ठ

  2. Perl-Mysql DBD को स्थापित करने का प्रयास कर रहा है, mysql_config नहीं मिल सका

  3. MySQL:कई टेबल या कई डेटाबेस?

  4. Mysql से StreamBuilder स्पंदन में डेटा प्राप्त करना

  5. क्या एक VARCHAR(20000) MySQL में मान्य है?