BashのForループ

BashのForループ

私はバイオインフォマティクスツールであるhmmerを実行しており、それを実行して7000を超えるテストシーケンスを照会しようとしています。それぞれを実行した後、出力をテキストファイルとして保存したいと思います。これは簡単に行うことができます。

フォルダ内の各テストシーケンスでhmmerを実行し、出力を独自のテキストファイルに書き込むbashからforループを作成しようとしています。

ループが実行されるたびに別のテキストファイルに書き込むようにforループ内にステートメントを作成するにはどうすればよいですか?

現在私のコードは次のとおりです

for i in First10/*; do

binaries/jackhmmer --tblout test[i].txt -E1 --noali $i largedatabase.fasta

done

ベストアンサー1

for i in First10/*; do
     binaries/jackhmmer --tblout test$(basename $i).txt -E1 --noali $i largedatabase.fasta
done

ループでどのコマンドを実行しているのかわかりません。しかし、私の答えはあなたの要件を満たすことができると思います。

すべてのループで新しい出力ファイルを生成します。 **つまり、database1.dbディレクトリにandという名前の2つのファイルがある場合、最初のループは出力を生成し、2番目のループは出力を生成します。database2.dbFirst10testdatabase1.db.txttestdatabase2.db.txt

おすすめ記事