Удалить строку, найденную в столбце 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;