以GNU并行方式链接作业



我正在尝试使用一个名为TOOL.sh的工具执行此命令。我的并行输入值分别为0.01、0.02和0.05。

仅此命令就应该为每个--maf输入生成四个输出文件。我只想保留第四个文件,即日志文件,并在生成后立即删除其他三个文件(.bim.bed.fam(,如下所示。我如何在下面写下这段代码,这样它才能工作?

PLINKfile=file
DIRplink=$PWD
OUTFILE="PWD/test"
parallel -j3 TOOL.sh --bfile ${PLINKfile} --maf {} --out $DIRplink/${OUTFILE}_{} | 
rm "${DIRplink}/${OUTFLE}_{}.bed" && 
rm "${DIRplink}/${OUTFLE}_{}.bim" &&
rm "${DIRplink}/${OUTFLE}_{}.fam"
::: 0.01 0.02 0.05

问题是外壳解析|&&,但您希望它们成为parallel执行的命令的一部分。要做到这一点,只需将其用双引号括起来:

parallel -j3 "TOOL.sh --bfile ${PLINKfile} --maf {} --out $DIRplink/${OUTFILE}_{};
rm ${DIRplink}/${OUTFILE}_{}.{bed,bim,fam}"

或者,只需在parallel完成后一次性删除所有不需要的文件:

parallel -j3 TOOL.sh --bfile ${PLINKfile} --maf {} --out $DIRplink/${OUTFILE}_{}
rm ${DIRplink}/${OUTFILE}_*.{bed,bim,fam}

最新更新