একটি নির্দিষ্ট নামের একটি খুঁজে পেতে আমি কীভাবে সমস্ত উপ-ডিরেক্টরি অনুসন্ধান করব?


13

ধরা যাক আমার কাছে একটি শীর্ষ স্তরের ডিরেক্টরি রয়েছে /dirএবং অনেকগুলি উপ ডিরেক্টরি রয়েছে। আমি /dirযাকে ডেকে আছি তার সন্ধানের উপ-ডিরেক্টরিগুলি কীভাবে অনুসন্ধান করব x/x/dir/x/x/x/target?

এই প্রশ্নটির অনুরূপ, তবে ঠিক আমি যা খুঁজছি তা নয়: নির্দিষ্ট সাব-ডিরেক্টরিতে কমান্ড সন্ধান করুন

আমি কোনও ফাইলের জন্য সন্ধান করছি না, কেবল একটি নির্দিষ্ট নামের সাথে ডিরেক্টরি রয়েছে।

উত্তর:


18

ব্যবহার করে দেখুন find /dir -type d -name "your_dir_name"

প্রতিস্থাপন /dirআপনার ডিরেক্টরির নাম দিয়ে, এবং প্রতিস্থাপন "your_dir_name"নাম আপনি যা খুঁজছেন সঙ্গে।

-type dfindশুধুমাত্র ডিরেক্টরি অনুসন্ধান করতে বলবে ।


1

এক বা একাধিক ডিরেক্টরি সন্ধানের আরও সাধারণ সমাধানের জন্য এবং গিট সংগ্রহস্থলগুলিতে পুরানো ইমেল ঠিকানাগুলি সন্ধান করার মতো কিছু সন্ধানের জন্য নিম্নলিখিত প্যাটার্নটি দেখুন:

find . -type d -name .git -print0|\
    xargs -0r -I {} find {} -type f -print0 |\
    xargs -0r grep -e 'my.old@email.address'

1
echo **/target

অথবা প্রতি লাইনে একটি করে ম্যাচ পাওয়ার জন্য:

printf %s\\n **/target

এটি zsh এর বাক্সের বাইরে কাজ করে। ব্যাশে আপনাকে shopt -s globstarপ্রথমে চালানো দরকার এবং সাবধান থাকুন যে এটি ডিরেক্টরিতে প্রতীকী লিঙ্কগুলিও অনুসরণ করে। Ksh93 এ, আপনাকে set -o globstarপ্রথমে চালানো দরকার ।

আপনি যদি কেবল ডিরেক্টরিতে বা ডিরেক্টরিগুলির সাথে প্রতীকী লিঙ্কগুলির সাথে মেলে করতে চান, একটি ট্রেলিং যুক্ত করুন /(অর্থাত্ **/target/)। Zsh এ, কেবল ডিরেক্টরি মেলে তবে ডিরেক্টরিগুলির সাথে প্রতীকী লিঙ্ক নয়, এটি তৈরি করুন **/target(/)

যে কোনও শেলের মধ্যে আপনি findকমান্ডটি ব্যবহার করতে পারেন :

find . -name target

লিনাক্স এবং সিগউইনে, এটি alচ্ছিক .। আপনি যদি কেবল ডিরেক্টরিগুলির সাথে মিল করতে চান তবে যুক্ত করুন -type d

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