web-dev-qa-db-fra.com

Commande Bash pour convertir les adresses IP dans leur forme "inverse"?

Quand je lance nslookup sur une adresse IP (ce sont tous des exemples)

nslookup 192.168.1.123

Courant de sortie:

411.311.211.111

Sortie désirée:

111.211.311.411

J'ai un script qui fonctionne simplement pour voir s'il existe un moyen plus efficace ou une commande intégrée nslookup.

Merci

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

Sortie:

 111.211.311.411 

ou

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

Voici une fonction native. Appelez-le comme reverseip 12.34.56.78 pour l’afficher 78.56.34.12. Appelez-le comme reversed=$(reverseip 12.34.56.78) pour capturer la sortie dans une variable.

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

Utiliser sed:

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

Faire correspondre l'adresse IP et imprimer du dernier au premier (inverser)

0
αғsнιη