LINUX.ORG.RU

сравнение и подстановка значений

 ,


0

3

Появилась необходимость сравнивать два вывода и подставлять значения. Выводы такого формата

1 вывод:

1.1.1.1 100000 100000
3.3.3.3 300000 300000

2 вывод:

3.3.3.3 200000 200000 test1
4.4.4.4 100000 100000 test2

нужно при совпадении первых значений во втором выводе с первым выводом, но не совпадения второго и третьего значения с первым выводом - подставить 4 значение во втором выводе в первый вывод

в данном случае должно получиться что-то вроде

3.3.3.3 300000 300000 test1

Заранее благодарю

★★★

Последнее исправление: init_ (всего исправлений: 1)

Заранее благодарю

10$

anonymous
()

Не мучай себя, баш и того, кому придется это потом разбирать. Сделай на перле.

Deleted
()

Из второго вывода сделать ассоциативный массив

3.3.3.3 test1
4.4.4.4 test2
В первый вывод добавить четвертую колонку из соответствующих элементов массива. Сложить оба вывода вместе и потом поверх сделать uniq. На питоне подобное пишется минут за 15.

justAmoment ★★★★★
()
awk 'BEGIN {while((getline<"output2")>0) {a[$1]=$4}} {print $0,a[$1]}' output1
gorky ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.