我刚刚运行了以下 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 +%s
,然后打印stdout
该时间与脚本结束时的时间之间的差值:
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."