আমি কীভাবে ওএসএক্সে ls কমান্ড লাইন দ্বারা ব্যবহৃত সময় বিন্যাসটি পরিবর্তন করব?


27

আমি বিন্যাসে lsপ্রদর্শন সময় করতে চাই ISO(সামরিক ফর্ম্যাট)। আমি কীভাবে এই আচরণটি পরিবর্তন করতে পারি?

লিনাক্সে আমি জানতাম যে আমি ইউএস-এর মাধ্যমে দীর্ঘ বিন্যাসে সময় প্রদর্শন করতে এলএসকে বাধ্য করতে পারি --full-timeতবে এটি ওএস এক্সে কাজ করে না।

আপডেট: আমি জানি যে কমান্ড দ্বারা ব্যবহৃত ফর্ম্যাটটি localeসেটিংসের উপর ভিত্তি করে । সমস্যাটি হ'ল ওএস একাদশে সেটিংসের কৌশলটি ব্যবহার করতে সক্ষম ছিল না LC_TIME=en_DK


1
একটি উত্তর নেই, তবে এখনও সম্ভবত কার্যকর: স্ট্যাট (1) কমান্ডটি বেশ নমনীয় এবং যে কোনও পছন্দসই বিন্যাসে টাইম স্ট্যাম্পগুলি প্রদর্শন করার জন্য তৈরি করা যেতে পারে।
হ্যারাল্ড হানচে-ওলসেন

gls (gnu ls) আমি আমার উত্তরে উল্লেখ করেছি একটি - স্টাইল = পতাকা নিতে পারে যেখানে আপনি একটি + ফর্ম্যাট স্ট্রিং নির্দিষ্ট করতে পারেন, তাই আপনি যা চান তার তারিখটি হাজির করতে পারেন।
ব্যারিজ

আমি যদি কোনও উপায় জানতাম অ্যাপলের বিএসডি ম্যানুয়ালটিতে lsটাইমজোন পরিবর্তন করা এবং আলফার পরিবর্তে ডেটটাইম অনুসারে বাছাই করা ছাড়া তারিখের সময় বিন্যাসের জন্য কিছুই দেওয়া নেই বলে মনে হয়। বিকাশকারী.অ্যাপল.
com

উত্তর:


16

যদি আপনি gnu কোরিউটিস ইনস্টল করেন তবে gnu ls পাওয়া যায় যা প্রয়োজনীয় হিসাবে করবে। আপনি যদি প্যাকেজ ম্যানেজার হিসাবে মদ ব্যবহার করেন তবে এটি এতটা সহজ:

brew install coreutils
gls -l --time-style=full-iso

ধন্যবাদ, এটি দরকারী তবে সমস্যাটি সমাধান করে না। ব্যবহৃত পূর্ণ ফর্ম্যাটটি এখনও আইএসও -8601 নয়।
সোরিন

ঠিক আছে - আপনি gnu কোর্টিল ইনস্টল করতে পারেন যার মধ্যে gnu ls রয়েছে, যা আপনি যা চান তা করবে। সবচেয়ে সহজ উপায় মদ, ম্যাকপোর্টস বা ফিঙ্কের মধ্যে একটি। আমি ব্রিউ ব্যবহার করি - সুতরাং কেবল 'ব্রিউ ইনস্টল কোরিউটিলস' কাজ চলছে। তারপরে আপনার কাছে জিএলএস উপলব্ধ থাকবে।
ব্যারিজ

1
উল্লেখযোগ্যভাবে, brew install coreutilsফলাফলগুলি /usr/local/bin/glsইনস্টল হওয়ার ফলে আপনার glsপরিবর্তে চালানো দরকার ls
এরিক.ওয়েথার্স 16:51

আপনাকে সময় ফর্ম্যাট নির্দিষ্ট করতে হবে gls -l --time-syle="+%I"(বা সঠিক- gdateস্টাইল বিন্যাসটি আইএসও -8601 এর জন্য যা কিছু হোক )।
রুবিনোরেলস

সঠিক কল এইভাবে হয়; gls -l - সময়-শৈলী = পূর্ণ-ইসো
অ্যানিএইজিলে

13

ওএস এক্স-এর অন্তর্নির্মিত lsকমান্ডটি সময় ফর্ম্যাট করতে পারে না, তবে statকমান্ডটি স্ট্রফটাইম বিন্যাসের স্ট্রিং নেয় যাতে আপনি যা করতে চান তার একটি আনুমানিকতা পেতে পারেন:

stat -l -t '%FT%T' *

%FT%Tএকটি ISO8601 স্থানীয় টাইমস্ট্যাম্প উৎপন্ন হয়। একটি যোগ করুন %zআপনি একটি UTC অফসেট চাই।

যদিও টাইমস্ট্যাম্পটি সঠিক, বাকী কেবলমাত্র আপনি কী থেকে পাবেন তা সীমাবদ্ধ করে। উদাহরণস্বরূপ, ls -lক্ষেত্রগুলি কলামগুলিতে যথাযথভাবে প্রান্তিক করা হয়, আউটপুট রঙিন করতে পারে এবং অবশ্যই আপনাকে সমস্ত ফাইলের নাম আর্গুমেন্ট হিসাবে পাস করার পরিবর্তে ডিরেক্টরি বিষয়বস্তু তালিকাভুক্ত করে। আপনি trসমস্ত স্থানকে ট্যাবগুলিতে রূপান্তর করতে আউটপুটটি পাইপ করে কমপক্ষে যথাযথ প্রান্তিককরণ পুনরুত্পাদন করতে পারেন :

stat -l -t '%F%T' * | tr ' ' \\t

বিকল্পভাবে, আমি মনে করি ls -lএকটি কাস্টম লোকেল সংজ্ঞায়িত করে আইএসও 8601 টাইমস্ট্যাম্প তৈরি করা সম্ভব হওয়া উচিত , তবে আমি এটিটি দেখিনি।


-1

ls -l --time-style=iso আমার জন্য ভাল কাজ করে।


1
না। পর্বত সিংহ.
নাকিলন

2
ম্যাভেরিক্সেও নয়।
ক্লে সেতু

4
এটি সম্ভবত ওপিটির পক্ষে খুব ভাল কাজ করে, কারণ সে lsব্রিউয়ের মতো প্যাকেজ ম্যানেজারের মাধ্যমে এটি উপলব্ধি না করে একটি নন-সিস্টেম ইনস্টল করেছে ।
অ্যালগাল

1
@ অ্যালগালের সাথে সম্মত হন। আমি এর /usr/local/bin/glsমাধ্যমে ইনস্টল করেছি brew install coreutilsএবং এটি --time-styleবিকল্পটিকে সমর্থন করে । ওপি চালিত হতে পারে brew install coreutils --with-default-namesযার ফলস্বরূপ /usr/local/bin/lsইনস্টল করা হবে (অন্যান্য ইউটিলিটিগুলির মধ্যে), অথবা সম্ভবত ওপি একটি ম্যানুয়াল সিমিলিংক সেট আপ করে gls
এরিক.ওয়েথার্স

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