仅在写入文件时出现“加入:文件 2 未按排序顺序”

仅在写入文件时出现“加入:文件 2 未按排序顺序”

我不得不加入两个文件,其中对第二个文件进行一些处理(排序,删除第一行),然后对生成的文件进行一些处理,最后将其写入磁盘上。

join HM3.tmp.snps <(sort <( sed '1d' sumstats/PASS_BMI1.sumstats)) | awk 'BEGIN{print("SNP\tN\tZ\tA1\tA2")}; {print $0}' | tr " " "\t"  > hm3_sumstats/PASS_BMI1.sumstats

我收到错误“加入:文件 2 未按排序顺序”。奇怪的是,如果我不将结果写入磁盘,则不会出现此错误,所以

join HM3.tmp.snps <(sort <( sed '1d' sumstats/PASS_BMI1.sumstats)) | awk 'BEGIN{print("SNP\tN\tZ\tA1\tA2")}; {print $0}' | tr " " "\t" 

似乎可以工作并在标准输出中打印结果。

请注意,file1 已经排序。

我怎样才能做到这一点?为什么错误取决于我是否将结果打印在文件上?

谢谢

相关内容