Bash脚本用于成对比较

5

我希望编写一个bash脚本,用它来对我的文件进行成对计算。

我有一个固定的文件在目录中,还有一系列我想要用于成对比较的文件。

例如:

固定文件的名称是:Genome.vcf 在一个目录中的用于成对计算的文件的名称:ind_GER、ind_ENG、ind_MRO

我已经想出了以下脚本:

#!/bin/bash

for pop1 in $(find ind_*)
do
for pop2 in $(find ind_*)
do

 vcftools --gzvcf PATH/Genome.vcf --weir-fst-pop $pop1 --weir-fst-pop $pop2 --out $pop1_$pop2_fst

done
done

The error that I get is:

Error: Requested Missing Argument

显然,我犯了一些错误,如果您能帮忙解决这个问题,我将非常感激,谢谢。

那个错误是来自于vcftools内部的。在你的脚本顶部添加set -x以查看实际调用情况。 - Oliver Matthews
1个回答

7

将其更改为:

--out $pop1_$pop2_fst

for:

--out ${pop1}_${pop2}_fst

_ 是一个合法的变量名字符。


非常感谢,它解决了问题并且完美地工作 :) - Homap

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接