Если файлы уже отсортированы приемлемым образом, вы можете объединить -отсортировать их, а затем uniq
их:
sort -t_ -k2,2n -k3,3n -m -- *.txt | uniq > Unique_Position.txt
... который сортирует числовое значение по второму полю (с разделителями символами подчеркивания_
)и, если эти ключи уникальны, по третьему полю. Результирующий вывод затем направляется через uniq
перед перенаправлением в выходной файл.
С учетом (короткого )примера входных данных, приведенного выше, результаты:
chr1_1_200
chr1_200_400
chr1_600_800
chr1_1000_1200
Если вы можете полностью указать поля сортировки для строк, которые вы хотите сохранить,вы можете сделать все это в sort
, добавив опцию -u
:
sort -t_ -k1 -k2,2n -k3,3n -m -u *.txt > Unique_Position.txt
Это позволит сохранить уникальные строки среди трех перечисленных полей без необходимости вызыватьuniq
(уведомление о добавлении опции -u
). Эти поля сортировки должны соответствовать способу сортировки входных файлов.