Что в принятом ответе не указано, как это сделать, как вы говорите в вопросе, если вы все еще хотите извлечь в определенную папку без использования путей к папкам, хранящихся в zip-файлах, вы можете использовать -j
вариант с -d
вариант таким образом:
unzip -j /path/to/file.zip -d other_folder
или для вашего случая
unzip -j myarchive.zip -d b
Как предложено в комментарии:
awk '
NR == FNR {RGMIN[++IX] = $3 - 5000
RGMAX[IX] = $3 + 5000
CHROM[IX] = $2
next
}
FNR == 1 {print
next
}
{PR = 1
for (i=2; i<=IX; i++) if ($2 == CHROM[i]) PR = PR * ($3 < RGMIN[i] || $3 > RGMAX[i])
}
PR
' file2 file1
Variant Chromsome Chromosome Position
Variant1 2 14000
Variant3 8 37000
В зависимости от того, насколько тяжел файл2 по отношению к файлу1, вы также можете сопоставить файл2, а затем просто проверить, не сопоставлено ли местоположение в файле1.....
awk 'FNR==NR{for (i=$3-5000; i<=$3+5000; i++){v[$2"."i]=1}}
FNR!=NR{if (! v[$2"."$3]) print $0}
' file2 file1
Медленнее, чем @RudiC для этого набора данных, но если в файле 2 имеется большое количество нескольких перекрывающихся диапазонов, это может оказаться более целесообразным.