LINUX.ORG.RU

Преобразование ip


0

0

Привет други. Столкнулся со следующей проблемой:

В БД оракул имеется столбец с неким ip-адресом в виде
1441408396
1568436232
-646561280
1298988369
1441398784
1441607211
1441415120
1568408073
-1,408E+09

Всю эту байду надо прочитать из файла, преобразовать в вид a.b.c.d и записать в файл.

Очень нужно :) сам я не программист :(


anonymous
Ответ на: комментарий от manntes

Нет, это ж unsigned int, только его почему-то как signed задалдонили

shutty
()

#!/bin/bash

for i in `cat $1`; do
  CONVIP=`printf '%02X' $i`
  NETA="0x${CONVIP:0:2}"
  NETB="0x${CONVIP:2:2}"
  NETC="0x${CONVIP:4:2}"
  NETD="0x${CONVIP:6:2}"

  printf '%02d.%02d.%02d.%02d\n' $NETA $NETB $NETC $NETD >$2
done

shutty
()

1441408396 = 0x55EA258C, получается ip 85.234.37.140

Хоте хез, какой там формат используется.

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.