সমষ্টিগত প্রক্রিয়াকরণের জন্য আমি কীভাবে দলগুলিতে ফাইলগুলি পৃথক করব?


0

ধরুন আমার কাছে একটি ডিরেক্টরিতে প্রচুর ফাইল রয়েছে এবং আমার কাছে একটি নতুন ফাইলে 100 টি ফাইল পর্যন্ত ক্লাস্টার যুক্ত করতে হবে।

আমি কীভাবে এটি বাশ করতে পারি?

এই প্রশ্নের প্রয়োজনে, ধরে নেওয়া যাক যে ক্লাস্টারিংয়ের আগে আমার কোনও ফ্যাশনে তাদের সাজানোর দরকার নেই

উত্তর:


1

আপনি find+ ব্যবহার করতে পারেন xargs:

find -maxdepth 1 -type f -print0 | xargs -0 -n100 process.sh

xargsফাইলগুলিকে কয়েক দ্বারা বিভক্ত করে, findতাদের নামে সাদা স্থান সহ ফাইলগুলি বুঝতে এটি সহায়তা করে।

আপডেট :

ইন process.sh, কেবল প্রথম অস্তিত্বের নামটি সন্ধান করুন এবং ফাইলটি তৈরি করুন:

i=0
while [[ -f concatenated-$i ]] ; do (( i++ )) ; done
cat "$@" > concatenated-$i

উত্তর দেওয়ার জন্য ধন্যবাদ! যদি আমি জিজ্ঞাসা করতে পারি, আপনি xargsআলাদা আলাদা ফাইলের আউটপুটটিকে কীভাবে সংযুক্ত করবেন ?
টিলেকোগ

@ টিল্যাকগ: আপডেটটি দেখুন।
চোরোবা

আমি দুঃখিত, তবে আমি কীভাবে এটি করব তা এখনও বুঝতে পারি নি। আমি যেমনটি বলেছিলাম তেমন প্রক্রিয়া চালানোর চেষ্টা করেছি, তবে এটি বলেছে xargs: process.sh: No such file or directory। দয়া করে আমাকে একটি ব্যবহারের উদাহরণ দেওয়ার বিষয়ে আপত্তি করবেন? ধন্যবাদ!
টিলেকোগ og

@ টিল্যাকগ: আমি process.shএখানে প্রদর্শিত সামগ্রীর সাথে ঠিক তৈরি করেছি , কেবল একটি শেবাং ( #!/bin/bash) প্রিপেন্ড করুন । আপনি চালনার সময় যদি এটি ডিরেক্টরিতে স্থাপন না করা হয় তবে এর findজন্য পুরো পথ নির্দিষ্ট করুন xargs
চোরোবা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.