努力解析(bash)时间命令
发布时间:2020-12-15 18:54:27 所属栏目:安全 来源:网络整理
导读:我正在努力解析bash中的time命令的输出,甚至在我打电话时阻止它输出输出.这是我的测试代码: #!/bin/bashTIME=`time ls -lh /dev/null`echo "Testing..."echo $TIME 目前打印出来: {blank-line}real 0m0.064suser 0m0.002ssys 0m0.005sTesting{blank-line}
我正在努力解析bash中的time命令的输出,甚至在我打电话时阻止它输出输出.这是我的测试代码:
#!/bin/bash TIME=`time ls -lh > /dev/null` echo "Testing..." echo $TIME 目前打印出来: {blank-line} real 0m0.064s user 0m0.002s sys 0m0.005s Testing {blank-line} 因此,分配给$TIME的值似乎是打印输出开始时的空白行.我需要得到sys行的秒值 – 即“0.005”.我保证我只会有秒,所以我不需要任何“m”之前的任何东西 – 但是,如果秒> 10秒,秒部分可能是xx.xxx的形式.我目前不知道如何抑制’time’输出,捕获所有而不是空行,也不解析它来获取我需要的值. 任何帮助将不胜感激…
如果您使用Bash内建时间,则可以通过设置TIMEFORMAT变量来控制其输出:
TIMEFORMAT=%R 并且您不必执行任何解析,因为这将导致时间只输出秒数. 并使用: echo "Testing..." TIME=$( { time ls -lh > /dev/null; } 2>&1 ) echo $TIME 或从BashFAQ/032的其他技术之一. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |