ジョブがすでにリダイレクトされていると仮定して、ジョブが完了するのにかかる時間をログファイルにリダイレクトするにはどうすればよいですか。

ジョブがすでにリダイレクトされていると仮定して、ジョブが完了するのにかかる時間をログファイルにリダイレクトするにはどうすればよいですか。

Pythonタスクを実行するシェルスクリプトがあり、標準出力がログファイルにリダイレクトされます。

python script.py >> log.txt

また、これが完了して同じログファイルに書き込まれるのにかかる時間も必要です。それは次のとおりです。

time (python script.py >> log.txt) >> log.txt

明らかにこれはうまくいきません。

これを行う正しい方法は何ですか?

答え1

あなたによると、出力をファイルとして使用し、ファイルに追加できるman time必要があります。したがって、あなたのコマンドは次のようになります。-o FILE-a

/usr/bin/time -a -o log.txt python script.py >> log.txt

この-fフラグを使用すると、希望の時間出力形式を設定できます。

関連情報