মোট আকার বনাম 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.