我正在尝试使用一个名为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}