I have two files:
file1 (search):
1
GACGGAGGATGCAAGTGTTATCCGGAATCACTGGGCGTAAAGTTTTTTTTT
2
GACGGAGGATGCAAGTGTTATCCGGAAT
3
GACGGAGGATGCAAGTGTTATCCGGAATCACTGGGCGTAAAGCGTCC
4
GACGGAGGATGCAAGTGTTATCCGGAATCACTGGGCCGTCCGTAG
file2 (patterns):
GACGGAGGATGCAAGTGTTATCCGGAATCACTGGGCGTAAAGC
GACGGAGGATGCAAGTGTTATCCGGAATCACTGGGCGTAAAGCG
GACGGAGGATGCAAGTGTTATCCGGAATCACTGGGCGTAAAGCGTCC
GACGGAGGATGCAAGTGTTATCCGGAATCACTGGGCGTAAAGCGTCCGTAG
What I need is:
1
GACGGAGGATGCAAGTGTTATCCGGAATCACTGGGCGTAAAGTTTTTTTTT
2
3
4
GACGGAGGATGCAAGTGTTATCCGGAATCACTGGGCCGTCCGTAG
Which means, that I need a script that searches my search-lines in the patterns-file, and if the search-lines can be found fully or partially (as for the line following "2") then they should not be written, but all other lines of file 1.
I tried many of the grep and awk scripts found in that forum but none did what I need, e.g.
awk 'FN==NR {exclude[$0];next} !($0 in exclude)' file2 file1
or
awk 'NR==FNR{a[$1]++;next} !($1 in a) {print $1} {next}' file2 file1
I also tried grep.
Anyway, all tried scripts just find the fully matching patterns but not the partially matching ones...
Has anyone have an idea??