объединить частично повторяющиеся строки в таблице

Входные данные - это файл настроек с несколькими строками, разделенными табуляцией.

h1 h2 h3 x  y      h4 h5 h6 h7
a  b  c  h4 true
a  b  c  h5 false 
a  b  d  h4 false
m  n  o  h6 true
m  n  o  h7 false
p  q  r  h4 true

Результат ниже.

h1 h2 h3  h4    h5    h6    h7
a  b  c   true  false
a  b  d   false
m  n  o               true  false
p  q  r   true

Как я могу этого добиться? Я пробую несколько циклов с использованием awk с моими ограниченными знаниями, но у меня нет идей.

awk -F'\t' '($1!=old1 || $2!=old2 || $3!=old3) && NR>2 
    {
        for (i=1;i<=NF;i++) 
            print a[i];
    } 
    {
        old1=$1;old2=$2;old3=$3;
        for (i=1;i<=NF;i++) 
        {
            a[i]= $i;
        }
    } 
    END{for (i=1;i<=NF;i++) print a[i];}' $tmpfile1
1
задан 13 December 2020 в 04:57

0 ответов

Другие вопросы по тегам:

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