নির্দিষ্ট সাব-ডিরেক্টরিতে সন্ধানের জন্য কমান্ড command


17

আসুন আমি একটি ডিরেক্টরি আছে dirতিনটি সাব সঙ্গে dir1.. dir3। এবং ভিতরে আমার অনেকগুলি ফাইল এবং অন্যান্য উপ-ডিরেক্টরি রয়েছে।

আমি একটি ফাইলের অভ্যন্তরে অনুসন্ধান করতে চাই, *.cশেষের সাথে বলি , তবে আমি কেবল সাব ডাইরেক্টরি "dir / dir2" এবং এর সমস্ত উপ-ডিরেক্টরিতে অনুসন্ধান করতে চাই। আমি কীভাবে তা প্রণয়ন করতে পারি?

ধরে নিচ্ছি আমার মধ্যে dir/রয়েছে:

find . -name "*.c"

সমস্ত ডিরেক্টরি অনুসন্ধান করতে।

আমি কীভাবে কেবল সীমাবদ্ধ করব dir2?

উত্তর:


11

অনুসন্ধান করুন যে কোনও বৈধ পথ গ্রহণ করবে

find ./dir2 -name '*.c'

কৌতুক করা উচিত

তাহলে dirআমাদেরঅবস্থান /home/user/dirআপনি সম্পূর্ণ পাথ খুঁজে দিতে পারে

find /home/user/dir/dir2 -name '*.c'

18

আপনি এর জায়গায় -pathপ্যারামিটারটি ব্যবহার করতে পারেন :find-name

find . -path "dir2/*.c"

এটি আপনাকে সরাসরি উপ-ডিরেক্টরি না dir2থাকলেও, ফাইলগুলিতে dir2সন্ধানের অনুমতি দিতে পারে:

# find . -path "*/dir2/*.c"
./dir_a/dir2/file.c
./dir_b/dir2/file.c

4

আপনি করতে পারেন find dir2 -name '*.c'

আপনি করতে পারেন (cd dir2; find -name '*.c')

আপনি dir1 এবং dir3 তাকান চাইলেও dir2 না, আপনি করতে পারেন find {dir1,dir3} -name '*.c'


3
শেষ কমান্ডে, ধনুর্বন্ধনী প্রয়োজন হয় না। find dir1 dir3 -name \*.cঠিক কাজ করে।
কিথবি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.