Присоединение к двум разделяемым пространственным файлам на основе сопоставления значений в двух разных столбцах

У меня такая же проблема. Я могу обойти это, сделав несколько X-выборок (просто выделив текст в моем терминале). Если я сделаю это несколько раз tmux , кажется, «догонит» и снова начнет нормально отвечать.

0
01.11.2018, 21:36
2 ответа

Это близко к тому, что вам нужно (еще нужно выполнить форматирование... )?

awk 'NR == FNR {T[$2,$3] = T[$3,$2] = $1; next} {print $0, T[$1,$2]}' file2 file1
A  B  C  D E
----------- 
a1 b1 c1 d1 1
a2 b2 c2 d2 2
a3 b3 c3 d3 1
a4 b4 c4 d4 2
a5 b5 c5 d5 1
2
28.01.2020, 02:31

утомительное решение для объединения :сначала присоединиться к файлу 1, столбцу 1 и файлу 2, столбцу 2, затем присоединиться к файлу 1, столбцу 1 и файлу 2, столбцу 3:

{ 
    join -11 -22 -o 0,1.2,1.3,1.4,2.1 <(sed '1,2d' file1 | sort -k1,1) <(sed '1,2d' file2 | sort -k2,2) 
    join -11 -23 -o 0,1.2,1.3,1.4,2.1 <(sed '1,2d' file1 | sort -k1,1) <(sed '1,2d' file2 | sort -k3,3) 
} | sort -k 1,1 

выходы

a1 b1 c1 d1 1
a2 b2 c2 d2 2
a3 b3 c3 d3 1
a4 b4 c4 d4 2
a5 b5 c5 d5 1
0
28.01.2020, 02:31

Теги

Похожие вопросы