2010-09-25 11 views
18

मैं एक ऐसी स्क्रिप्ट बनाना चाहता हूं जो समय कमांड से केवल वास्तविक समय मान आउटपुट करे, इसलिए मैं परिणाम प्लॉट कर सकता हूं। उदाहरण के लिए time command आउटपुटमुझे 'टाइम' कमांड से वास्तविक समय मूल्य कैसे मिलता है?

real 1m0.001s 
user 1m0.000s 
sys 0m0.001s 

मैं एक स्क्रिप्ट आउटपुट कि

60.001 

मैं सेकंड में 'समय' आदेश से सिर्फ वास्तविक समय मूल्य कैसे प्राप्त करूं लिखना चाहते हैं?

उत्तर

17

man time के अनुसार, निम्नलिखित काम करना चाहिए:

time -f "%e" command 

संपादित: अपने रास्ते के साथ time आदेश फोन:

$ /usr/bin/time -f "%e" sleep 5 

5.00 

पथ के बिना, यह कुछ bash के बराबर का उपयोग कर रहा था। पथ के साथ, यह मेरे लिए काम करता है।

+4

मुझे माफ करना, मैं पर एक मैक हूँ, और कि bash आउटपुट: -f: आदेश –

+0

नहीं मिला संपादित करें:/usr/bin/time – eumiro

26

आप उपयोग कर रहे हैं बैश builtin time, सेट TIMEFORMAT चर %R रहे हैं:

$ TIMEFORMAT=%R 
$ time sleep 1 
1.022 
+1

के साथ काम करता है महान, thx! – pjvds

+1

धन्यवाद! मुझे धीमी-निष्पादन आदेशों के लिए '% 0lR' सर्वोत्तम (अधिक पठनीय) पसंद है (देखें http://stackoverflow.com/questions/3683434/custom-format-for-time-command/3686395#3686395) – qubodup

+0

बढ़िया, यह काम करेगा 'macOS' पर भी, 'निर्यात TIMEFORMAT =% 0lR' का उपयोग किया जाता है। – loretoparisi

संबंधित मुद्दे