স্ক্রিপ্ট ফাইলগুলি গণনা করতে ফাইল কমান্ড ব্যবহার করা হচ্ছে


3

fileএকটি ডিরেক্টরিতে স্ক্রিপ্টের সংখ্যা গণনা করতে আমার কমান্ডটি ব্যবহার করতে হবে ।

আমি কীভাবে ফাইলের প্রকারটি পেতে পারি তা জানি file:

file test
test: Bourne-Again shell script, ASCII text executable

তবে আমি কীভাবে fileস্ক্রিপ্ট ফাইলগুলির সংখ্যা গণনা করতে ব্যবহার করব ?

উত্তর:


6

স্ক্রিপ্ট ফাইলগুলি সাধারণত সম্পাদনযোগ্য, আপনি ব্যবহার করে খুব সহজেই কোনও ডিরেক্টরিতে এক্সিকিউটেবল ফাইলগুলি খুঁজে পেতে পারেন find। নোট করুন যে এক্সিকিউটেবল ফাইলগুলি সন্ধানের জন্য এই আদেশগুলি কেবলমাত্র স্ক্রিপ্টগুলিই নয় সমস্ত কার্যকরযোগ্য ফাইলগুলি সন্ধান করবে )।

find . -type f -executable

এটি যে ডিরেক্টরি থেকে আপনি চালাচ্ছেন সেগুলিতে এটি সমস্ত বহিরাগত ফাইলগুলি খুঁজে পাবেন। এটি উপ-ডিরেক্টরি থেকে ফাইলগুলিও অন্তর্ভুক্ত করবে, উপ-ডিরেক্টরিগুলি উপেক্ষা করতে, -maxdepth 1এই জাতীয় যুক্ত করুন:

find . -maxdepth 1 -type f -executable

এখন, এটি সমস্ত ফাইলের একটি তালিকা দেবে, সেগুলির একটি গণনা নয়। একটি গণনা পুনরুদ্ধার করতে, ফলাফলটি এখানে পাইপ করুন wc -l:

find . -type f -executable | wc -l

কিছু ফাইল যেখানে স্ক্রিপ্ট ফাইল হয় তবে কার্যকর হয় না এমন ক্ষেত্রে নিম্নলিখিত কমান্ডগুলি ব্যবহার করা যেতে পারে:

  • যদি কেবল বর্তমান ডিরেক্টরিতে ফাইল গণনা করা উচিত:

    file -b * | grep " script" | wc -l

  • সাব ডিরেক্টরি ডিরেক্টরি ফাইল অন্তর্ভুক্ত করা উচিত:

    find . -type f -exec file -b {} \; | grep " script" | wc -l

অবৈধ ম্যাচগুলি এড়ানোর জন্য গ্রেপ কমান্ডে "স্ক্রিপ্ট" এর আগে একটি স্থান যুক্ত করা হয় (যেমন টিআইএফ ফাইলগুলিতে "বর্ণনামূলক")।


1
তবে এটি কেবলমাত্র স্ক্রিপ্টগুলি গণনা করবে যা বিট সেট কার্যকর করেছে। যদি ওপি যদি সত্যিকারের স্ক্রিপ্টগুলি অন্তর্ভুক্ত করতে চায় যা বিট কার্যকর করে না তবে আপনার ব্যবহার করা দরকারfile
phuclv

@ LưuVĩnhPhúc এটি সঠিক। আমি উত্তরে আরও একটি কমান্ড যুক্ত করেছি যা এই জাতীয় ফাইল উপস্থিত থাকার ক্ষেত্রে কাজ করবে।
শায়डो

1
findশেষ পদ্ধতিতে প্রয়োজন নেই , file * | grep script | wc -lঠিক পাশাপাশি কাজ করে।
xenoid

@ এক্সেনয়েড ভাল ক্যাচ, তবে এটি পুনরাবৃত্তভাবে কাজ করবে বলে মনে হয় না। উত্তরে এটি যুক্ত হয়েছে।
শায়डो

1
যদি টিআইএফ ফাইলগুলি ডিরেক্টরিতে থাকে তবে এটি ব্যবহার grepকরার সময় সংশোধন করা দরকার filefileটিআইএফ চিত্রগুলিতে চালনা "বিবরণ" (কমপক্ষে আমার সিস্টেমে) দিয়ে আউটপুট উত্পাদন করে। ব্যবহার করে দেখুন file * | grep " script" | wc -l
গ্রিনম্যাট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.