Counting/autofill 在文本文件中
Counting/autofill in a text file
我有一个非常简单的 bash 脚本用于 linux:
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 中的两个数字应该改变。
您可以使用 bash for 循环实现此目的 - http://www.cyberciti.biz/faq/bash-for-loop/
这将是 link
中的相关示例
#!/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
我有一个非常简单的 bash 脚本用于 linux:
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 中的两个数字应该改变。
您可以使用 bash for 循环实现此目的 - http://www.cyberciti.biz/faq/bash-for-loop/
这将是 link
中的相关示例#!/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