আমি কীভাবে কোনও ফোকলের এমটাইমকে যুগের ফর্ম্যাটে সেট করব?


11

আমি জানি কীভাবে একটি ফাইলের এমটাইম পেতে পর্বের ফর্ম্যাটে:

stat --format=%Y <file>

তবে আমি কীভাবে কোনও যুগের ফর্ম্যাটে কোনও ফাইলের এমটাইম সেট করবেন তা নির্ধারণ করতে পারিনি । স্পর্শ (1) ম্যান পৃষ্ঠাটি কেবলমাত্র একটি "টাইমস্ট্যাম্প" মান (আরও কম-বেশি নির্দিষ্ট ফর্ম্যাট যা মাস, দিন, ঘন্টা, মিনিট ইত্যাদি ব্যবহার করে) বা "বেশিরভাগ ফ্রি ফর্ম্যাট হিউম্যান রিডেবল ডেট স্ট্রিং" গ্রহণ করে to

আমার অন্য কোন ইউটিলিটিটি সন্ধান করা উচিত?

ধন্যবাদ।


1
দয়া করে সর্বদা আপনার ওএস অন্তর্ভুক্ত করুন। সমাধানগুলি প্রায়শই ব্যবহৃত হওয়া অপারেটিং সিস্টেমের উপর নির্ভর করে। আপনি কি ইউনিক্স, লিনাক্স, বিএসডি, ওএসএক্স, অন্য কিছু ব্যবহার করছেন? কোন সংস্করণ?
টেরডন

উত্তর:



1

সহ perl:

$ perl -e 'utime (stat($_))[8], time(), $_ for @ARGV' file1 file2 ...

এটি এতে সমস্ত ফাইলের এমটাইম পরিবর্তন করবে @ARGV(stat($_))[8]ফাইলের সময়

utime ফাইলগুলির তালিকা পেতে পারে, আপনি যদি সময় পরিবর্তনের বিষয়ে চিন্তা না করেন তবে আপনি চেষ্টা করতে পারেন:

 $ perl -e '$t = time(); utime $t, $t, @ARGV' file1 file2 ...

বিঃদ্রঃ

utimeসি রানটাইম লাইব্রেরি উপর নির্ভর করে এবং ফাইল সিস্টেম ব্যবহার করছে। আরও দেখুন perldoc -f utimeএবং perldoc perlport


0

সঙ্গে touchগনুহ coreutils থেকে কমান্ড (অর্থাত অ এমবেডেড Linux এবং Cygwin দিকে) এ বর্ণন পূর্ণ ম্যানুয়াল ডকুমেন্টেশন জন্য (সাধারণত স্থানীয়ভাবে তথ্য বিন্যাসে উপলব্ধ) তারিখ ইনপুট ফর্ম্যাটযুগের তারিখগুলি উপসর্গ সহ নির্দেশিত @:

touch -d @1234567890 foo

এটি ব্যাসিবক্সের সাথেও কাজ করে (কমপক্ষে কয়েকটি সিস্টেমে এটি সংকলনের বিকল্পগুলির উপর নির্ভর করে)।

* বিএসডি সহ, আমি মনে করি না আপনি touchএকা এটি করতে পারবেন তবে আপনি dateপর্বের সময়টিকে এমন বিন্যাসে ফর্ম্যাট করতে কল করতে পারেন যা touchগ্রহণ করবে।

touch -d "$(date -r 1234567890 +%Y%m%d%H%M.%S)" foo

পজিক্স কুখ্যাতভাবে যুগের তারিখগুলি পরিচালনা করার উপায়গুলির অভাব রয়েছে। আপনি পার্ল ব্যবহার করতে পারেন

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