R 具有两个值的Bash循环
我试图运行一个for循环,我希望初始值($f在示例中)和值加上常量($f+2000)在循环中起作用。但是(出于明显的原因),它不会在命令中使用($f+2000)运行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 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的代码>正确!我愚蠢的错误