2012-03-15 9 views
12

मैं कुछ छोटे सीसी कार्यक्रमों के चलने के समय को मापने के लिए gnu समय का उपयोग करना चाहता था। मनुष्य में यह लिखा है कि:जीएनयू समय और प्रारूपण आउटपुट

-f FORMAT, --format FORMAT 
Use FORMAT as the format string that controls the output of time. See the below more information. 

तो उदाहरण में हमने:

To run the command `ls -Fs' and show just the user, system, and total time: 
time -f "%E real,%U user,%S sys" ls -Fs 

लेकिन जब मैं उदाहरण से इस आदेश जारी करने की कोशिश मैं मिलता है:

time -f '%E real,%U user,%S sys' ls -Fs 
-f: command not found 

real 0m0.134s 
user 0m0.084s 
sys  0m0.044s 

मैं कर रहा हूँ सोच रहा है कि समस्या कहां है, मैं गलती कहां कर रहा हूं? मैं बस उपयोगकर्ता का समय दिखाना चाहता हूं, यही कारण है कि मैं समय आउटपुट प्रारूप के साथ टकरा रहा हूं।

उत्तर

12

एक के लिए बैश time नामक एक खोल निर्मित है। इसे पाने का एक तरीका /usr/bin/time टाइप करना है। एक और तरीका alias time=/usr/bin/time है। दूसरी ओर बैश बिल्टिन पर्यावरण परिवर्तनीय TIMEFORMAT का सम्मान करता है।

+0

त्वरित उत्तर के लिए धन्यवाद, मैं केवल TIMEFORMAT का उपयोग करूंगा, लेकिन उन सभी कार्यों का उपयोग करूंगा। – Andna

+1

'/ usr/bin/time' कुछ सिस्टम (उदा। NixOS) पर उपलब्ध नहीं है, लेकिन मुझे पता चला है कि 'कमांड टाइम ...' बैश बिल्टिन से बचने के लिए एक तरीके के रूप में काम करता है। – Warbo

+0

ग्रेट प्वाइंट, 'कमांड' एक पॉज़िक्स-परिभाषित खोल उपयोगिता है, इसलिए इसे 'sh' में उपलब्ध होना चाहिए और कुछ भी ('bash' और' ksh' सहित) होना चाहिए जो' sh' के रूप में कार्य कर सकता है। जैसा कि यहां बताया गया था: https://stackoverflow.com/questions/6365795/invoking-program-when-a-bash-function-has-the-same-name – minopret

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