我一直在尝试对我拥有的两个文件使用连接,每个文件都在特定列上(fileA为18th,fileB为1rst),它告诉我文件未排序。我确实在这些文件上使用了命令排序,但无法理解发生了什么。
我尝试使用以下命令并获得了相同的结果(即:“文件未排序”):
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
典型的fileA行如下所示:
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
我了解到文件必须按连接中使用的列进行排序,但似乎无法正常工作。有人可以帮我吗?
最诚挚的问候
我发现发生了什么事。该命令没问题,只是我没有空间在文件夹中创建文件,而且我的一个文件的开头没有空白行。我认为没有可用空间使它无法在内存中创建任何东西,从而导致了错误。
答案 0 :(得分:0)
我发现发生了什么事。该命令没问题,只是我没有空间在文件夹中创建文件,而且我的一个文件的开头没有空白行。我认为没有可用空间使它无法在内存中创建任何东西,从而导致错误。