我想在文件中打印time
的结果。
例如time ls -lRa /
打印执行结束时的时间。我想在toto.txt
我试过了time ls -lRa / >> toto.txt
,但我认为它也打印了ls的结果..
我有什么方法可以只打印时间并在标准输出中打印ls吗?
(目的是制作一个将在文件中打印的脚本:
testing ls -lRa / ...
real 1m14.999s
user 0m43.928s
sys 0m3.681s
)
答案 0 :(得分:2)
是。假设您正在使用bash,则可以执行:{ time ls -lRa /; } 2> toto.txt
。
您还可以使用以下内容删除ls
的输出(标准输出和标准错误):
{ time ls -lRa / > /dev/null 2>&1; } 2> toto.txt
答案 1 :(得分:1)
我不同意Pablo Antonio发布的答案,因为它将ls -lRa
的任何错误输出重定向到文件toto.txt
。试试这个:
time (ls -lRa / > /dev/null 2>&1) > toto.txt 2>&1
您也可以编写脚本,创建文件timePrint.sh
,添加以下内容并运行chmod u+x timePrint.sh
:
#!/bin/bash
echo "testing $* ..." > toto.txt
time ($* > /dev/null 2>&1) > toto.txt 2>&1
然后像./timePrint.sh ls -lRa /