Unixでblastnを実行するのにかかる時間を確認するために使用するコードは何ですか?

Unixでblastnを実行するのにかかる時間を確認するために使用するコードは何ですか?

私は次のforeachを実行しました。

for file in *.fa
do
  echo working on $file !
  blastn -db ../lotus-date -query $file > $file.blastn
  echo finished $file
done

このコードが完了した後に実行するのにかかる時間を推論する方法はありますか?

答え1

スクリプトが開始されたおおよその時間がわかっている場合は、ループの最後の反復で作成された出力ファイルの最後の変更時刻と比較できます。

最後に変更された出力ファイルblastnの日付/時刻を表示するには、このコマンドの最後の行を参照してください。

ls -ltr *.fa.blastn

答え2

以下を使用して、スクリプトの先頭から現在のUNIX時間(秒)を取得できますdate +%sstdout

start="$( date +%s )"

for file in *.fa
do
  echo working on $file !
  blastn -db ../lotus-date -query $file > $file.blastn
  echo finished $file
done

printf '%s\n' "Code took $(( $( date +%s ) - $start )) seconds to run."

関連情報