Почему команда объединения в Unix говорит, что мои файлы не отсортированы? - PullRequest
0 голосов
/ 13 марта 2019

Я пытался использовать объединение двух файлов, которые у меня есть, в определенном столбце для каждого файла (18-й для файла A, 1-й для файла B), и он говорит мне, что файлы не отсортированы.Я использовал команду sort для этих файлов и не могу понять, что происходит.

Я попытался использовать следующие команды и получил тот же результат (а именно: «файл не отсортирован»):

join -1 18 -2 1 <(perl -p -e s'/"//'g fileA|sort -k 18) <(sort -k 1 fileB)|less
join -1 18 -2 1 <(perl -p -e s'/"//'g fileA|sort -n -k 18) <(sort -n -k 1 fileB)|less
join -1 18 -2 1 <(perl -p -e s'/"//'g fileA|sort -V -k 18) <(sort -V -k 1 fileB)|less

Типичная строка файла выглядит так:

chr8    848289  852184  a       0       +       chr8    StringTie       transcript      848290  852184  3895    +       .       gene_id Genome.106729; transcript_id Genome.106729.1; reference_id refGenome_T001.mrna1; ref_gene_id refGenome_T001.path1; ref_gene_name refGenome_T001; cov 342.423218; FPKM 8.291647; TPM 12.997114;       3895

Типичная строка fileB выглядит следующим образом:

Genome.106729.1  2078

Я понял, что файлы должны быть отсортированы по столбцу, используемому в объединении, но, похоже, он не работает.Может кто-нибудь помочь мне?

С наилучшими пожеланиями


Я выяснил, что происходит.Команда была в порядке, за исключением того, что у меня не было места для создания файлов в моей папке, и в начале одного из моих файлов была пустая строка.Я думаю, что недоступное пространство сделало так, чтобы сортировка не могла создать что-либо в памяти, что вызвало ошибку.

1 Ответ

0 голосов
/ 14 марта 2019

Я нашел, что происходит. Команда была в порядке, за исключением того, что у меня не было места для создания файлов в моей папке, и в начале одного из моих файлов была пустая строка. Я думаю, что недоступное пространство сделало так, чтобы сортировка не могла создать ничего в памяти, что вызвало ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...