Удалить строку, найденную в столбце 1 из столбца 2

У меня очень большой файл Excel (150000 строк). Для каждой строки у меня есть строка в столбце 1, которую мне нужно найти и удалить из столбца 2.

Input column 1    Input column 2                     Output column3
-------------------------------------------------------------------------
dog3456           dog3456; cat2345; chicken3595      cat2345; chicken3595
sheep23349        bird2048; rhino2948; sheep23349    sheep23349 
frog248034        toad3956; frog248034               frog248034

У кого-нибудь есть совет, пожалуйста?

Спасибо!

1 ответ

Я решил, что вы экспортируете две колонки таблицы в виде табуляции.

cat data.tab
dog3456 dog3456; cat2345; chicken3595 sheep23349 bird2048; rhino2948; sheep23349 frog248034 toad3956; frog248034

и третий столбец выводится скриптом awk.

awk -F'\t' '{split($2,a,";"); for(i in a){gsub(" ","",a[i]); if(a[i]!=$1)printf("%s; ",a[i])}print ""}' data.tab

выходы:
cat2345; chicken3595; bird2048; rhino2948; toad3956;

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