মোট আকার বনাম xargs গণনা করতে & ডু অনুসন্ধান করুন


0

কেউ কি নিশ্চিত করতে পারেন যে নীচের একটি লাইনারটি ফাইন্ডের নামের মধ্যে লগইন হওয়া সমস্ত ডিরেক্টরিতে মোট মানব পাঠযোগ্য আকারের উত্পাদন করবে?

find -type d -name *log* | du -hcs

উত্তর:


0

প্রস্তুত?

find . -type d -name '*log*' -print0 | xargs -0 du -hcs

  • *log*একক উদ্ধৃতিতে মোড়ক করুন অন্যথায় শেলটি দেখার আগে এটি প্রসারিত findহবে।
  • এর -print0জন্য নাল অক্ষর দ্বারা অনুসন্ধান আউটপুট পৃথক করতে ব্যবহার করুনxargs
  • ব্যবহার xargs -0থেকে প্রতিটি নাল বিভাজিত ফাইলের নাম লাগাতে findকমান্ড লাইন মধ্যেdu

সহজ, তাই না? :)


তারা উভয়ই কাজটি করে বলে মনে হচ্ছে - আপনার প্রতিটি ডিরেক্টরি আউটপুট করে এটি এটি সন্ধান করে যদিও এটি কেবলমাত্র আমার সম্পূর্ণ প্রিন্ট করে। কোনটি 'ভাল' তা নিশ্চিত নন, আমি মনে করি এটি প্রয়োজনীয়তার উপর নির্ভর করে।
— টনি

প্রকৃতপক্ষে এই মন্তব্যটিকে আঘাত করুন :) - দু'জনেই এসেছেন সম্পূর্ণ ভিন্ন ভিন্ন সংখ্যক ঘন্টা।
— টনি

এখনও দুটি মান পৃথক কেন তা সম্পর্কে প্রতিক্রিয়া খুঁজছেন?
— টনি

আপনি কি আপনার টেস্ট-কেস ডিরেক্টরি গাছের টারবাল কোথাও পোস্ট করতে পারেন?
— cxw

উহু! এটি কারণ "du" কমান্ড লাইন থেকে তার ইনপুট নেয় না। মূল কমান্ড লাইনে, এর আউটপুট findমানক ইনপুটগুলিতে যায় এবং তা duউপেক্ষা করে। ফলস্বরূপ, du -hcsপুরো বর্তমান ডিরেক্টরিটির মোট আকারের প্রতিবেদন করে। xargsউত্তরে কমান্ড লাইন যেখানে স্ট্যান্ডার্ড ইনপুট থেকে যারা ফাইলের নামের চলে আসে duতাদের দেখতে হবে। আমার সালে /varউপর cygwin, প্রশ্ন থেকে কমান্ড লাইন হিসাবে একই আউটপুট দেয় du -hcsছাড়া find: 79M .। উত্তর থেকে কমান্ড লাইনটি দেয় 1.1M ./logকেবল এটি প্রক্রিয়াকরণ নির্দেশ করে / / ব্লগ।
— cxw
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.