जवाबों:
यह प्रारूपित समय को व्यक्त करने का एक तरीका है printf।
प्रारूप है:
%(FORMAT)T
कहाँ FORMATसे परिभाषित किया गया है strftime(3)।
इसलिए समय प्राप्त करने के लिए (1970-01-01 से 00:00:00 यूटीसी के बाद का समय), हमें strftime(3)प्रारूप की आवश्यकता है %s:
printf "%(%s)T\n"
ध्यान दें कि आपको \nएक नई पंक्ति जोड़ने के लिए अंत में भी आवश्यकता है printf(इसके विपरीत echo) इसे डिफ़ॉल्ट रूप से नहीं जोड़ें।
उदाहरण:
$ printf "%(%s)T\n"
1454300377
$ printf "%(%Y-%m-%d)T\n"
2016-02-01
$ printf "%(%Y-%m-%d %H:%M:%S)T\n"
2016-02-01 10:20:27
पूर्णता के लिए, आप समय प्राप्त करने के लिए dateएक समान strftime(3)स्वरूपित तरीके से भी कमांड का उपयोग कर सकते हैं :
$ date '+%s'
1454300542
$ date '+%Y-%m-%d' ## Short form: date -I
2016-02-01
$ date '+%Y-%m-%d %H:%M:%S'
2016-02-01 10:22:47
नोट : यह व्यवहार के लिए विशिष्ट है bashके और ksh'एस में निर्मित समारोह printf, और साथ काम नहीं करता /usr/bin/printf, cshऔर zshनिर्मित इन।
printf(1)मैन पेज में नहीं देखा ।
printfअंतर्निहित यहाँ है (हालांकि बाहरी एक समान व्यवहार है) .. जाँच help printf..
printfबिलियन है?/usr/bin/printfUbuntu 14.04 पर एक त्रुटि देता हैprintf: %(: invalid conversion specification:। यदि आप उपयोग कर रहे हैंbash।man bashबिलिन डॉक्यूमेंटेशन के लिए प्रयास करें ।