जवाबों:
यह प्रारूपित समय को व्यक्त करने का एक तरीका है 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/printf
Ubuntu 14.04 पर एक त्रुटि देता हैprintf: %(: invalid conversion specification
:। यदि आप उपयोग कर रहे हैंbash
।man bash
बिलिन डॉक्यूमेंटेशन के लिए प्रयास करें ।