উত্তর:
অথবা ...
find $directory_name -name \*.sql
উদাহরণ স্বরূপ
find / -name \*.sql
অথবা
find ~ \*.sql
(যেখানে / / বাড়ির / আপনার_র ব্যবহারকারী নাম / সমান হয়), বা ...
find /usr/local/share/ \*.sql
এবং তাই এগিয়ে।
কমান্ড লাইনে এটি চালান:
cd / && find | grep '\.sql$'
আপনি যে ডিরেক্টরিটি অনুসন্ধান করতে চান তাতে '/' পরিবর্তন করুন।
find
কমান্ড (অতিরিক্ত অপশন ব্যবহার করে), grep ছাড়া কাজের সাধা করতে সক্ষম হয়, কিন্তু আমি উপরে ব্যবহার আরও বেশি সুবিধাজনক পাবেন।
ক্রমানুসারে উপরের আদেশটি:
cd /
)find
) এর নীচে এবং সমস্ত ফাইল এবং ডিরেক্টরি তালিকাবদ্ধ করে| grep '\.sql$'
) দিয়ে শেষ হয় এমন কোনও কিছুর জন্য ফাইল এবং ডিরেক্টরিগুলি ফিল্টার করেfind
ইতোমধ্যে ফিল্টার করার ক্ষমতা রয়েছে
আমি জানি যে এটি একটি পুরানো পোস্ট, তবে আমি এটিতে বেশ নতুন এবং আমি একটি ডিরেক্টরি এবং এর শিশুদের উপ-ডিরেক্টরিতে একটি নির্দিষ্ট বর্ধনের সমস্ত ফাইল সন্ধান করার একটি সহজ উপায় খুঁজে পেয়েছি। আচ্ছা আপনি প্রথম নেভিগেট parent Directory
তারপর find . -name '*.sql'
এবং যে আপনার সাথে সব ফাইল পাবেন .sql ডিরেক্টরি এবং তার সাব ইন এক্সটেনশান।
আমার ক্ষেত্রে আমি ডিরেক্টরি এবং এর উপ-ডিরেক্টরিগুলির সমস্ত .xML ফাইলগুলি মুছতে চেয়েছিলাম , তাই আমি আরও কী করলাম তা হ'ল আমি এখানে যেমন সরিয়েছিfind . -name '*.xml' | xargs rm
আশা করি এই সাহায্য কারও :)
find
-delete
আদেশ বুঝতে পারে । জড়িত হওয়ার দরকার নেই rm
। অথবা আপনি -exec
কোনও পাইপের মাধ্যমে প্রদীপ ছাড়াই সরাসরি নির্দেশ করতে কমান্ডটি ব্যবহার করতে পারেন এবং xargs
।
locate -br \\.sql$ | egrep '^/folder/path/'
যদি এটি ইনস্টল না করা থাকে তবে এর সাথে আগে এটি ইনস্টল করুন:
sudo apt install mlocate
mlocate.db
উদাহরণ প্রয়োজন যা উবুন্টু-তে বক্স সেট করা নেই (আমি ব্লিভ)। এছাড়াও, কেন না সহজ locate '/folder/path/*.sql'
?
locate
egrep
locate
/folder/path/*.sql
নিয়মিত প্রকাশের মতো নয়, গ্লোব এক্সপ্রেশনগুলির সাথে মেলে ।
man locate
আমার কাছ থেকে -r, --regexp REGEXP - Search for a basic regexp REGEXP
তাই আমি ধরে নিয়েছি এটি একটি রেজেক্স। যাইহোক আমি আপনার "গ্লোবাল এক্সপ্রেশন" চেষ্টা করেছিলাম কিন্তু কাজ করে না, আমি দুঃখিত
--regex
নির্দিষ্ট PATTERN
না করা হয় তবে সেগুলিতে গ্লোব্বিং অক্ষর থাকতে পারে।" ( উত্স )