FileA.txt:
ATGCATGC
GGGGGGTT
TTTTT
AAAA
FileB.txt:
asdfasdf
blah2
ATGCATGC
blah3
blah4
delte-me-too
GGGGGGTT
blah5
blah5
....
Я хочу сравнить каждую строку из FileA. txt и проверьте, есть ли он в FileB.txt. Если он находится в FileB, я хочу удалить следующее:
Соответствующая строка
Одна строка выше
Две строки ниже
и вывод в новый файл.
ПРИМЕЧАНИЕ. В FileA будет 500 000 строк. Я хотел бы сделать это таким образом, чтобы мы не жестко кодировали шаблоны.
У меня сейчас есть что удалить строки, но я спотыкаюсь о цикле через FileA для создания нового шаблона для этого выражения awk:
awk '/$VARIABLE_REGEX/{for(x=NR-2;x<=NR+2;x++)d[x];} {a[NR]=$0}
END{for(i=1;i<=NR;i++)
if(!(i in d))
print a[i]}' FileB.txt