R 具有两个值的Bash循环

R 具有两个值的Bash循环,r,bash,loops,for-loop,syntax,R,Bash,Loops,For Loop,Syntax,我试图运行一个for循环,我希望初始值($f在示例中)和值加上常量($f+2000)在循环中起作用。但是(出于明显的原因),它不会在命令中使用($f+2000)运行 for f in `seq 1 1000`; do tabix my.vcf.gz 1:$f-($f+2000) > chr1.$f.vcf done 有没有关于如何使这项工作或其他战略的建议 我也尝试过在R中使用system命令来运行循环,但我在那里的语法更难看,也不起作用(复制如下) 提前谢谢 R 以下是:

我试图运行一个for循环,我希望初始值($f在示例中)和值加上常量($f+2000)在循环中起作用。但是(出于明显的原因),它不会在命令中使用($f+2000)运行

for f in `seq 1 1000`; 
     do tabix my.vcf.gz 1:$f-($f+2000) > chr1.$f.vcf
done
有没有关于如何使这项工作或其他战略的建议

我也尝试过在R中使用system命令来运行循环,但我在那里的语法更难看,也不起作用(复制如下)

提前谢谢

R

以下是:

for f in {1..10}
do
    echo tabix my.vcf.gz 1:$f-$(($f+2000)) = chr1.$f.vcf
done
产生

tabix my.vcf.gz 1:1-2001 = chr1.1.vcf
tabix my.vcf.gz 1:2-2002 = chr1.2.vcf
tabix my.vcf.gz 1:3-2003 = chr1.3.vcf
tabix my.vcf.gz 1:4-2004 = chr1.4.vcf
tabix my.vcf.gz 1:5-2005 = chr1.5.vcf
tabix my.vcf.gz 1:6-2006 = chr1.6.vcf
tabix my.vcf.gz 1:7-2007 = chr1.7.vcf
tabix my.vcf.gz 1:8-2008 = chr1.8.vcf
tabix my.vcf.gz 1:9-2009 = chr1.9.vcf
tabix my.vcf.gz 1:10-2010 = chr1.10.vcf
如果满意,请移除回声并将
=
更改为

以下内容:

for f in {1..10}
do
    echo tabix my.vcf.gz 1:$f-$(($f+2000)) = chr1.$f.vcf
done
产生

tabix my.vcf.gz 1:1-2001 = chr1.1.vcf
tabix my.vcf.gz 1:2-2002 = chr1.2.vcf
tabix my.vcf.gz 1:3-2003 = chr1.3.vcf
tabix my.vcf.gz 1:4-2004 = chr1.4.vcf
tabix my.vcf.gz 1:5-2005 = chr1.5.vcf
tabix my.vcf.gz 1:6-2006 = chr1.6.vcf
tabix my.vcf.gz 1:7-2007 = chr1.7.vcf
tabix my.vcf.gz 1:8-2008 = chr1.8.vcf
tabix my.vcf.gz 1:9-2009 = chr1.9.vcf
tabix my.vcf.gz 1:10-2010 = chr1.10.vcf

如果满意,请删除回音并将
=
更改为

以开始
在'seq 1 1000'中的$f应该是'seq 1 1000'中f的
正确!我愚蠢的错误是在'seq 1 1000'中以$f开头
应该是'seq 1 1000'中f的
正确!我愚蠢的错误