如果我运行time uname -a | awk '{ print substr($3,1,9)" "$12 }'
,我会得到:
$ time uname -a | awk '{ print substr($3,1,9)" "$12 }'
4.15.0-70 x86_64
real 0m0.016s
user 0m0.003s
sys 0m0.016s
$
我想多次运行上述命令并将整个输出保存到文件中。所以我尝试了
for i in {1..10}; do time uname -a | \
awk '{ print substr($3,1,9)" "$12 }' >> uname.txt; done
但只会4.15.0-70 x86_64
向文件发送十次uname.txt
。每次运行时,的输出time
都会发送到屏幕,而不会发送到uname.txt
。
那么我怎样才能捕获的输出time
呢uname.txt
?
我可以使用script
,并且可以工作,但是输出并不漂亮:
(B[m(B[m(B[m4.15.0-70 x86_64
real 0m0.017s
user 0m0.013s
sys 0m0.007s
(B[m(B[m(B[m4.15.0-70 x86_64
real 0m0.015s
user 0m0.008s
sys 0m0.009s
(B[m(B[m(B[m4.15.0-70 x86_64
real 0m0.015s
user 0m0.008s
sys 0m0.008s
或者作为图像:
我知道如果没有更好的办法我可以把它清理干净。
答案1
您可以尝试以下操作:
for i in {1..10}; do
{ time uname -a | awk '{ print substr($3,1,9)" "$12 }'; } &>> uname.txt
done
输出:
4.15.0-54 i686
real 0m0,009s
user 0m0,007s
sys 0m0,000s
4.15.0-54 i686
real 0m0,016s
user 0m0,005s
sys 0m0,004s
4.15.0-54 i686
...