имеется файл1 вида:
....
192.168.160.8.192.23.151.62
127.168.160.2.167.25.152.67
192.168.160.3.217.131.31.20
192.168.160.4.64.33.1.2
....
и файл2 вида:
...
32
28
24
32
...
На выходе необходимо получить:
192.168.160.8/32 192.23.151.62
127.168.160.2/28 167.25.152.67
192.168.160.3/24 217.131.31.20
192.168.160.4/32 64.33.1.2
В моей голове это может быть реализовано следующим образом (я взяла за пример первую строку 192.168.160.8.192.23.151.62):
1) sed выводит только начало строки, в которой содержится ххх.ххх.ххх.ххх, цифр после точки может быть от 1 до 3, точек всегда 3
получиться должно - 192.168.160.8
2) на выходе получится файл с IP, соединяю его с файл2, нечто вроде:
Код: Выделить всё
paste -d\/ файл1_после_sed файл2 > файл3
получиться должно 192.168.160.8/32
3) далее берем исходный файл1 и теперь вырезаем sed'ом первый IP-адрес в строке, оставляя второй. на выходе файл4
получиться должно 192.23.151.62
4) И склеиваем его, как во втором пункте
Код: Выделить всё
paste -d\ файл3 файл4 > файл5
результат - 192.168.160.8/32 192.23.151.62
Но по-моему конструкция очень громоздка, и при этом, я не знаю как сделать пункты 1 и 3 на sed
Мне кажется наверняка можно сделать всё проще (если нет, то подскажите, пожалуйста, как правильно написать пункты 1 и 3).
Буду благодарна за любой совет.