কোনও ফাইলের নামে আপনি কীভাবে তারিখ এবং সময় রাখবেন?


23

আমি একটি কমান্ড কার্যকর করার চেষ্টা করছি এবং আউটপুট ফাইলের নামের তারিখ এবং সময় স্থাপন করতে চাই।

আমি চালাতে চাই একটি নমুনা কমান্ড এখানে।

md5sum /etc/mtab > 2016_4_25_10_30_AM.log

তারিখের সময়ের ফর্ম্যাটটি আন্ডারস্কোরগুলির সাথে বোধগম্য কিছু হতে পারে। এমনকি ইউটিসি যদি এএম এবং প্রধানমন্ত্রী ব্যবহার না করা যায় তবে।


যদি না বাশ, তবে আপনি কোন শেল ব্যবহার করছেন?
রায়ান

ওহ এটি বাশ ... আমি বাশ স্ক্রিপ্ট বলতে
চাইছি

আপনি পাইপ দিচ্ছেন না, আপনি পুনর্নির্দেশ করছেন। আপনি যদি পুনঃনির্দেশ না দিয়ে থাকেন তবে প্রশ্নটি একই হবে। শিরোনাম আপডেট করা হচ্ছে।
মাইকেল

উত্তর:


46

আপনি যদি বর্তমান তারিখের সময়টিকে ফাইলের নাম হিসাবে ব্যবহার করতে চান তবে আপনি বিকল্প ব্যবহার করতে dateএবং আদেশ করতে পারেন ।

 $ md5sum /etc/mtab > "$(date +"%Y_%m_%d_%I_%M_%p").log"

ফাইলটির ফলাফল 2016_04_25_10_30_AM.log(যদিও বর্তমান তারিখের সময় সহ) /etc/mtabএর উপাদানগুলি হিসাবে এমডি 5 হ্যাশ দিয়ে তৈরি করা হচ্ছে ।

দয়া করে মনে রাখবেন যে 12-ঘন্টা ফর্ম্যাট টাইমস্ট্যাম্পগুলি সহ ফাইলের নামগুলি আপনি যেভাবে বাছাই করতে চান সেই নাম অনুসারে বাছাই করতে পারে না। পরিবর্তে 24 ঘন্টা ফর্ম্যাট টাইমস্ট্যাম্প ব্যবহার করে আপনি এই সমস্যাটি এড়াতে পারেন।

আপনার যদি সেই নির্দিষ্ট তারিখের ফর্ম্যাটটি ব্যবহার করার প্রয়োজন না থাকে তবে আপনি কোনও আইএসও 8601 অনুসারে ডেটটাইম ফর্ম্যাটটি ব্যবহার করতে পারেন। বৈধ আইএসও 8601 ডেটটাইম উপস্থাপনা কীভাবে তৈরি করা যায় তার কয়েকটি উদাহরণ অন্তর্ভুক্ত:

 $ date +"%FT%T"
 2016-04-25T10:30:00

 $ date +"%FT%H%M%S"
 2016-04-25T103000

 $ date +"%FT%H%M"
 2016-04-25T1030

 $ date +"%Y%m%dT%H%M"
 20160425T1030

যদি আপনি "নিরাপদ" ফাইলের নাম চান (যেমন উইন্ডোজের সাথে সামঞ্জস্যের জন্য), আপনি সময় অংশ থেকে কলোনগুলি বাদ দিতে পারেন।

দয়া করে মনে রাখবেন যে উপরের উদাহরণগুলি সমস্ত স্থানীয় সিস্টেমের সময় ধরে নেয়। আপনার যদি এমন সময় উপস্থাপনা দরকার যা সময় অঞ্চলগুলির সাথে সামঞ্জস্যপূর্ণ হয় তবে আপনার একটি টাইম অঞ্চল অফসেট বা ইউটিসি নির্দিষ্ট করতে হবে। আপনি আপনার dateকলের ফর্ম্যাট অংশটিতে "% z" ব্যবহার করে অফসেটে কোনও আইএসও 8601 সাবলীল সময় অঞ্চল পেতে পারেন :

 $ date +"%FT%H%M%z"
 2016-04-25T1030-0400

পতাকাটি dateনির্দিষ্ট করে -uএবং ডেটটাইম স্ট্রিংয়ের শেষে "জেড" যুক্ত করে সময়টি ইউটিসি হওয়ার মতো সময় নির্ধারণ করে আপনি নিজের কলে ইউটিসি সময় পেতে পারেন:

 $ date -u +"%FT%H%MZ"
 2016-04-25T1430Z

@ মাইকেল আপনি এবং আমি ক্রস সম্পাদনা করেছি?
রায়ান 14

সম্ভবত। আমি সবেমাত্র "সাবশেল" কে "কমান্ড সাবস্টিটিউশন" তে পরিবর্তন করেছি। আমি এখনই সম্পন্ন করেছি, সুতরাং আপনার পছন্দ মতো সম্পাদনা করুন।
মাইকেল

@ মাইকেল কোন সমস্যা নেই আমি আমার সম্পাদনাটি এখনই জমা দিয়েছি।
রায়ান 14 '

@ মাইকেল কোন উদ্বেগ নেই! আমার এটিকে যে কোনওভাবে "কমান্ড সাবস্টিটিউশন" বলে মনে রাখা উচিত ছিল। উত্তরের জন্য ধন্যবাদ!
রায়ান 14

3
ইন্ডস্কোর একটি অদ্ভুত চরিত্র। আইএসও -8601 $(date +%FT%T)যা দেয় তা ব্যবহার করতে পছন্দ করা হয় 2016-04-25T10:30:00
hschou
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.