আজকের তারিখ পান এবং এটি ফাইলের নামে ব্যবহার করুন


10

কমান্ড-লাইনটি ব্যবহার করে, আমি আজকের তারিখের সাথে একটি লগ ফাইল তৈরি করতে চাই (উদাহরণস্বরূপ, আজ 05/17/2011, সুতরাং ফাইলের নামটি থাকতে হবে log051711)।

আমি ফাইল ( touch filename) কীভাবে তৈরি করতে হয় তা জানি তবে আজকের তারিখ কীভাবে পাবেন তা আমি জানি না। আমি ম্যানুয়ালটির জন্য দেখেছি date, তবে মনে হচ্ছে এটির আউটপুট সত্যিই ফর্ম্যাট করতে পারি না?

কোন সাহায্য প্রশংসা করা হবে।

উত্তর:


10

আপনি '+ ফরমেট' প্যারামিটার ব্যবহার করে আউটপুট ফর্ম্যাট করতে পারেন, যেমন

touch "log$(date +'%m%d%y')"

আপনি ফরমেটে কোন সিকোয়েন্সগুলি ব্যবহার করতে পারেন তার জন্য ম্যানপেজটি দেখুন।


জঘন্য, 36 সেকেন্ড খুব ধীর। ;-)
htorque

1
আমি ঠিক বুঝতে পেরেছি যে ক্রোন চাকরিতে এটি ব্যবহার করতে, আমাকে%-সাইনগুলি এড়িয়ে চলতে হয়েছিল, যাতে এটি পড়ে:touch "log$(date +'\%m\%d\%y')"
লুই বি।

3

কমান্ড চালাচ্ছি

echo "myfilename-"`date +"%d-%m-%Y"`

এটি আউটপুট হিসাবে দেয়:

myfilename-21-02-2014

আসলে এটি মুদ্রণ করবে myfilename-date +%d-%m-%Y
অ্যাডেফন

সত্য .. মাইফিলনামটি কেবল একটি উপসর্গ .. প্রয়োজন হলে আমরা এটি রাখতে পারি, অন্যথায় .. প্রতিধ্বনি date +"%d-%m-%Y" এটি যথেষ্ট ... এটি কেবলমাত্র 21-02-2014 তারিখটি প্রিন্ট করবে
শ্রীধর জিএস

আহ, এখন আমি দেখছি: আমি বিভ্রান্ত হয়ে পড়েছি কারণ answer আপনার উত্তরে হাজির হয়নি। এটি কোড ব্লক নির্দেশ করতে জিজ্ঞাসাবান্টু দ্বারা ব্যবহৃত হয় কারণ এটি। আপনার কোডটি ব্যাকটিক্স দিয়ে চারপাশে বা 4 স্পেস সহ কোড সহ অনুচ্ছেদে ইনডেন্ট করে চিহ্নিত করা উচিত। আরম্ভকারীদের জন্য আপনার সম্ভবত সম্পাদকের উপরের মেনুটি ব্যবহার করা উচিত এবং জমা দেওয়ার আগে পাঠ্যবক্সের নীচে পূর্বরূপে আপনার পোস্টটি পরীক্ষা করা উচিত।
আডাইফোন

0

সম্ভাব্য আত্মাগুলির মধ্যে একটি:

date +log%y%m%d | xargs touch

সৃষ্টি log111017


0

আমি নিশ্চিত যে এটির জন্য আরও কারও কাছে আরও ভাল উপায় আছে তবে ধরে নিচ্ছি আপনি মাস-দিন-বছর চান এটি কাজ করা উচিত:

touch log`date +%m%d%y`  

এবং আপনি চান অর্ডার প্রতিফলিত করতে আপনি% মি,% ডি,% ওয়াই পুনরায় অর্ডার করতে পারেন। তারিখের ম্যান পৃষ্ঠাটি আপনাকে অতিরিক্ত ফর্ম্যাট সম্পর্কে আরও জানায়।


0

পাইথন এই কাজটিও করতে পারে। এর জন্য ছোট স্ক্রিপ্টটি নিম্নলিখিত হবে:

#!/usr/bin/env python
import time,os

date=time.gmtime()
month = str(date.tm_mon).zfill(2)
day=str(date.tm_mday).zfill(2)
year=str(date.tm_year)[-2:]
fname = 'log' + month + day + year

with open(fname,'a') as f:
    os.utime(fname,None) 

এখানে ধারণাটি সহজ: আমরা time.gmtime()বর্তমান তারিখটি পেতে, এটির কাঠামোগত কাঠামো থেকে নির্দিষ্ট ক্ষেত্রগুলি নিষ্কাশন করতে, উপযুক্ত ক্ষেত্রগুলিকে স্ট্রিংয়ে রূপান্তর করতে এবং ফলস্বরূপ নামের সাথে ফাইল নাম তৈরি করতে ব্যবহার করি।

পরীক্ষা রান:

$ ls
touch_log_file.py*
$ ./touch_log_file.py                                                                                             
$ ls
log010317  touch_log_file.py*

লেখার মুহুর্তে এটি 3 শে জানুয়ারী, 2017 Thus সুতরাং ফলস্বরূপ ফাইলের নামটি যথাযথভাবে মাস, দিন, বছর - log010317

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.