উত্তর:
আপনি এখানে যান:
date +%Y%m%d%H%M%S
man date
উপরের দিকে যেমনটি বলা হয়েছে, আপনি date
কমান্ডটি এটির মতো ব্যবহার করতে পারেন :
date [OPTION]... [+FORMAT]
এটি, আপনি এটি দিয়ে শুরু করে একটি ফর্ম্যাট প্যারামিটার দিতে পারেন +
। আমি সম্ভবত ফর্ম্যাটিং প্রতীকগুলির অর্থটি অনুমান করতে পারি:
%Y
বছরের জন্য%m
মাসের জন্য%d
দিনের জন্যআপনি এটি এবং অন্যান্য ফর্ম্যাটিং প্রতীকগুলি খুঁজে পেতে পারেন man date
।
আপনি যদি ব্যাশ ব্যবহার করে থাকেন তবে আপনি নিম্নলিখিত কমান্ডগুলির মধ্যে একটি ব্যবহার করতে পারেন:
printf '%(%Y%m%d%H%M%S)T' # prints the current time
printf '%(%Y%m%d%H%M%S)T' -1 # same as above
printf '%(%Y%m%d%H%M%S)T' -2 # prints the time the shell was invoked
আপনি স্টডআউটে মুদ্রণের পরিবর্তে -v varname
ফলাফল সংরক্ষণের জন্য বিকল্পটি ব্যবহার করতে পারেন $varname
:
printf -v varname '%(%Y%m%d%H%M%S)T'
যদিও ডেট কমান্ড সর্বদা একটি সাব-শেলের মধ্যে কার্যকর করা হবে (অর্থাত্ একটি পৃথক প্রক্রিয়াতে) প্রিন্টফ একটি অন্তর্নির্মিত কমান্ড এবং তাই দ্রুততর হবে।
%
বিকল্পগুলিতে পাস করতে পারেন সে সম্পর্কে আরও ডকুমেন্টেশন সন্ধানের জন্য, এটি date
কমান্ডটি ব্যবহার করছে বলে মনে হচ্ছে । সুতরাং, man date
আপনাকে উপলভ্য বিকল্পগুলি দেবে।
প্যারামিটার সম্প্রসারণ (প্রয়োজনীয় bash 4.4
বা আরও নতুন) ব্যবহার করে এটি করার জন্য আকর্ষণীয় / মজার উপায় :
${parameter@operator} - P operator
প্রসারণটি এমন একটি স্ট্রিং যা প্যারামিটারের মানকে প্রসারিত করার ফলাফল হিসাবে মনে হয় এটি একটি প্রম্পট স্ট্রিং।
$ show_time() { local format='\D{%Y%m%d%H%M%S}'; echo "${format@P}"; }
$ show_time
20180724003251
"`date +%Y-%m-%d %H:%M:%S`"
আমাকে একটি দেয়date: illegal time format