首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将bashfor循环脚本中的两个变量赋值为对?

如何将bashfor循环脚本中的两个变量赋值为对?
EN

Stack Overflow用户
提问于 2022-07-15 19:28:44
回答 1查看 30关注 0票数 0

困难的bash脚本与多少成功的for-循环

代码语言:javascript
复制
#!bin/bash
 
HG19BAM=/3568_5891_5871/3568-NRSA-output-M1chip/3568/3568-hg19-bam 

BW=/3568_5891_5871/3568-NRSA-output-M1chip/3568/3568-hg19-bam/3568-BIGWIG_RPM_tools

source /Users/user/opt/anaconda3/etc/profile.d/conda.sh

VAR1="1 2 3 4 5 6 7 8"

VAR2="39.179 27.394 27.623 32.775 25.2577 30.627 27.6229 30.802"

conda activate Bedtools 
 
for i in $VAR1; do for j in $VAR2
do      
echo "Creating minus strand ${i} scaling to ${j}"

bedtools genomecov -ibam ../3568-MB-${i}.hg19.sorted.F4q10.BLfiltered.bam -bg -scale ${j} -strand - -5 > 3568-${i}.strandminus.5.normRPM.bedGraph

sort -k1,1 -k2,2n 3568-${i}.strandminus.5.normRPM.bedGraph > 3568-${i}.strandminus.5.normRPM.sorted.bedGraph

bedGraphToBigWig 3568-${i}.strandminus.5.normRPM.sorted.bedGraph /Users/user/bin/homer/data/genomes/hg19/chrom.sizes \
     3568-${i}.strandminus.5.normRPM.sorted.bw

echo "Creating positive strand ${i} scaling to ${j}"

bedtools genomecov -ibam ../3568-MB-${i}.hg19.sorted.F4q10.BLfiltered.bam -bg -scale ${j} -strand + -5 > 3568-${i}.strandplus.5.normRPM.bedGraph

sort -k1,1 -k2,2n 3568-${i}.strandplus.5.normRPM.bedGraph > 3568-${i}.strandplus.5.normRPM.sorted.bedGraph

bedGraphToBigWig 3568-${i}.strandplus.5.normRPM.sorted.bedGraph /Users/user/bin/homer/data/genomes/hg19/chrom.sizes \
     3568-${i}.strandplus.5.normRPM.sorted.bw

done
done

conda deactivate 

输出:

代码语言:javascript
复制
bash /Users/user/Library/Mobile\ Documents/com\~apple\~TextEdit/Documents/3568-bigiwggenomecov.sh
Creating minus strand 1 scaling to 39.179
Creating positive strand 1 scaling to 39.179
Creating minus strand 1 scaling to 27.394

我如何只对1与39.179和2与27.394等?

如何更改for循环,以避免将每个$VAR1与每个$VAR2进行比较?

EN

回答 1

Stack Overflow用户

发布于 2022-07-15 19:33:38

如果只需要对,则不需要嵌套循环。其中一种方法是将VAR*转换为数组,然后可以迭代i (每个数组中有许多元素),并在每个步骤中使用VAR1i和VAR2i。

所以你得弄清楚:

  • 如何将输入字符串转换为数组
  • 如何同时在它们上迭代

希望这给我们一个正确的思考方向。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72998805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档