2015-03-05 3 views
0

У меня есть очень простой Баш скрипт для Linux:Counting/автозаполнение в текстовом файле

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 в каждой новой строке? Это в основном то же самое, что autofilling в excel (можно было бы делать текст в столбцы, писать новые строки, а затем конкатенатировать снова). Только два числа в -query и -out должны измениться.

ответ

0

Вы можете добиться этого с помощью Баш для цикла - 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 
Смежные вопросы