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


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.