簡體   English   中英

Bash 命令時間輸出到 .txt

[英]Bash command time output to .txt

您好,我有一個 bash 腳本,我打算用它來測量腳本download_test.sh的時間流逝、CPU% 和內存使用情況,並將輸出放入一個 .txt 文件中,其中包含所需的輸出,例如:

Elapsed time: 1263.75s
Memory usage: 62916 KB
CPU usage: 0%

執行此操作的腳本如下所示:

#!/bin/bash
echo 'RESULTS' >> log.txt
{ /usr/bin/time -f 'Elapsed time: %es\nMemory usage: %M KB\nCPU usage: %P' bash download_test.sh  1 ; }  2>> log.txt

然而,下載終端進度也被定向到 .txt 文件,即

RESULTS

Downloading:  95%|#########5| 827M/870M [00:00<?, ?B/s]
Downloading:  95%|#########5| 828M/870M [00:00<00:11, 3.68MB/s]
...
Elapsed time: 14.67s
Memory usage: 62592 KB
CPU usage: 0%

我是使用 stderr 和 stdout 的新手,所以我誤解了它們,我該如何解決這個問題?

我不認為這是stderr 您可以使用以下命令打印所需的行。

awk '/Elapsed/,/CPU/'

嘗試這個

#!/bin/bash
echo 'RESULTS' >> log.txt
{ /usr/bin/time -f 'Elapsed time: %es\nMemory usage: %M KB\nCPU usage: %P' bash download_test.sh  1 ; } | awk '/Elapsed/,/CPU/' 2>> log.txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM