আমাকে এমন একটি স্ক্রিপ্ট তৈরি করতে হবে যা ডকের ডিফল্ট ডাউনলোড ফোল্ডার হিসাবে একই ক্রমে ফাইলগুলি দেখায়, তারিখ সংযোজন দ্বারা আদেশ করা, প্রথমে নতুন। আমি বিকল্পটি খুঁজে পেতে পারে না ls
।
এটি করার অন্য কোনও উপায়?
আমাকে এমন একটি স্ক্রিপ্ট তৈরি করতে হবে যা ডকের ডিফল্ট ডাউনলোড ফোল্ডার হিসাবে একই ক্রমে ফাইলগুলি দেখায়, তারিখ সংযোজন দ্বারা আদেশ করা, প্রথমে নতুন। আমি বিকল্পটি খুঁজে পেতে পারে না ls
।
এটি করার অন্য কোনও উপায়?
উত্তর:
সহজ (দ্রুততর) সমাধান:
mdls -name kMDItemFSName -name kMDItemDateAdded -raw * | \
xargs -0 -I {} echo {} | \
sed 'N;s/\n/ /' | \
sort
যুক্ত তারিখটি মেটাডেটা আইটেম হিসাবে সংরক্ষণ করা হয় kMDItemDateAdded
এবং mdls
কমান্ডটি প্রতিটি ফাইলের ডেটা এটির জন্য আর্গুমেন্ট হিসাবে পাস করবে।
সুতরাং, আপনার শেল দ্বারা যথেচ্ছ অর্ডার * প্রসারিত হয়ে যাই হোক না কেন ডাউনলোডগুলিতে সমস্ত ফাইলের জন্য যুক্ত তারিখটি ডাম্প করতে, আপনি এটি করতে পারেন:
এমডিএলএস-নাম কেএমডিআইটিএমডিট যুক্ত করুন ~ / ডাউনলোডস / *
আপনাকে সন্ধান / সেড / অ্যাওক / পার্ল / এর পরিবর্তে একত্রিত করার জন্য যা কিছু আছে তার একসাথে হ্যাক ls
করতে হবে তবে এমডিফাইন্ডকে আপনার স্ক্রিপ্ট দ্বারা পুনরায় উদ্ভাবন করার প্রয়োজন নেই ls
এবং সেই আউটপুটটিকে বিশ্লেষণ করার পরিবর্তে বলা যেতে পারে ।
ঠিক আছে, যথারীতি, প্রশ্ন লেখার পরে আমি ফাইলগুলিতে মেটাডেটা বিষয়বস্তু খনন শুরু করি এবং এটি লিখে শেষ করেছি:
ls -a | \
grep -v '^\.$\|^\.\.$' | \
xargs -I {} mdls -name kMDItemFSName -name kMDItemDateAdded {} | \
sed 'N;s/\n//' | grep -v '(null)' | \
awk '{print $3 " " $4 " " substr($0,index($0,$7))}' | \
sort -r
মূলত এটি: 1. সমস্ত ফাইলের তালিকা 2. ফিল্টার আউট। এবং .. ৩. নাম এবং তারিখ যুক্ত হবে, অন্যটির পরে একটি রেখা 4 প্রতি দুটি রেখাকে 1 লাইনকে একীভূত করে 5.. তারিখ, সময় এবং নাম 6.. এটিকে বিপরীতে সাজান (যেহেতু তারিখের সময়টি সামনে থাকে তাই এটি সাজান তারিখ সময়)
আশা করি এটি অন্য কাউকে সাহায্য করবে! :)
@ বিমিকে আসলে, সাইটটি আমার নিজের প্রশ্নের উত্তর দেওয়ার জন্য আমার সুনামের অভাবের কারণে 8 ঘন্টা পরে আমার নিজের প্রশ্নের উত্তর দেওয়ার জন্য একটি নিষেধাজ্ঞা আরোপ করেছে: ডি
ls -A
পরিবর্তে ব্যবহার করুন -a
যাতে আপনার grep -v
জন্য .
এবং করতে হবে না ..
।
মানুষ ls
-U Use time of file creation, instead of last modification for sorting (-t) or long output (-l).