在文本文件中计数/自动填充

时间:2015-03-05 15:17:29

标签: bash automation

我有一个非常简单的linux bash脚本:

blastn -db database -evalue 1e-5 -query 001.fasta -out 001.blast.txt -best_hit_overhang 0.1 -best_hit_score_edge 0.1 -outfmt 6 -max_target_seqs 1 &
blastn -db database -evalue 1e-5 -query 002.fasta -out 002.blast.txt -best_hit_overhang 0.1 -best_hit_score_edge 0.1 -outfmt 6 -max_target_seqs 1 

我需要360(001 ... 360)次这样做。是否可以使用" 001"自动生成这些线。在每一个新行都上升+1?它与excel中的自动填充基本相同(可以对列进行文本处理,编写新行,然后再连接)。只有-query和-out中的两个数字才会改变。

1 个答案:

答案 0 :(得分:0)

您可以使用bash for循环来实现此目的 - http://www.cyberciti.biz/faq/bash-for-loop/

这将是该链接的相关示例

#!/bin/bash
for i in {1..5}
do
   echo "Welcome $i times"
done

因此,对于您的示例,它看起来像这样

#!/bin/bash
for i in {1..360}
do
  blastn -db database -evalue 1e-5 -query $i.fasta -out $i.blast.txt -best_hit_overhang 0.1 -best_hit_score_edge 0.1 -outfmt 6 -max_target_seqs 1
done