我有一个要排序和索引的文件列表,我在一个文本文件中列出了所有这些文件。

/run/media/punit/data1/GSE74246/tophat_output/CMP_SRR2753096/CMP_6792.bam
run/media/punit/data1/GSE74246/tophat_output/CMP_SRR2753104/CMP_7256.bam

上面的只是我要排序和索引的数据列表。
现在我想使用这个命令
 ls *.bam | parallel "samtools view -b -S {} | samtools sort - {.}; samtools index {.}.bam"

同时我也有
.巴姆
扩展名,如unmapped.bam,我不想对其进行排序和索引
我怎样才能排除那些“unmapped.bam”,但由于我的列表中没有那些unmapped.bam,但我仍然想知道我是否使用parallel,那么它会接受这些排序和索引。。。

最佳答案

ls *.bam | grep -v unmapped | parallel ...

关于linux - 如何将文件列表传递给并行命令并执行下游命令(例如samtools)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45483891/

10-10 17:45