
次のコマンドを使用して、cygwinコンソール出力(stdoutとstderr)を保存して表示できます。
python command.py 2>&1 | tee -a outFile.txt// Note -a is for appending
コマンドが異なり、実行に時間が異なるためです。開始時間をどのように保存しますか?
09:00:00AM
file stream file stream file stream file stream
file stream file stream file stream file stream
.
.
.
file stream file stream file stream file stream
09:07:20AM
開始と終了のタイムスタンプを記録してください。時差を記録できればとても良いと思います。
Total execution time: 00:07:20
はい、cygwinでdateコマンドを使用して時間を取得できます。
$ date -> Tue, Mar 22, 2016 12:00:47 AM
しかし、変数の時間を取得するにはこの日付を解析し、経過時間を取得するにはdiffを実行する必要がありますか?
答え1
次のようなコマンドの順序ログファイルから開始/終了と経過時間を取得しようとしています。これを行うより良い方法があるかもしれません。
date 2>&1 | tee -a outFile.txt && SECONDS=0 && command.py 2>&1 | tee -a outFile.txt && date 2>&1 | tee -a outFile.txt && duration=$SECONDS echo "Total Execution Time: $(($duration / 60)) m $(($duration % 60)) s" 2>&1 | tee -a outFile.txt
開始日を取得し、ファイルに追加します。
date 2>&1 | tee -a outFile.txt
その後、コマンドを実行してファイルに追加します。
&& SECONDS=0 && command.py 2>&1 | tee -a outFile.txt
次に、終了日をインポートしてファイルに追加します。
&& date 2>&1 | tee -a outFile.txt
最後に、経過時間を計算してファイルに追加します。
&& duration=$SECONDS echo "Total Execution Time: $(($duration / 60)) m $(($duration % 60)) s" 2>&1 | tee -a outFile.txt
以下はログファイルの出力です。
Tue, Mar 22, 2016 4:01:18 PM
file stream file stream file stream file stream
file stream file stream file stream file stream
.
.
.
file stream file stream file stream file stream
Tue, Mar 22, 2016 4:01:23 PM
Total Execution Time: 0 m 7 s