কেন এই ফাইলটি 'খুঁজে পাচ্ছে না'?


21

এর findসাহায্যে grep, কেউ এমন কোনও ফাইল খুঁজে বের করতে পারে যা একটি প্যাটার্নের সাথে মেলে:

# find | grep error
./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html
./error_log
./includes/classes/error_log

তবে, findপ্রথম ফাইলটি একা ব্যবহার করে পাওয়া যায়নি:

# find . -name error*
./error_log
./includes/classes/error_log

যখন ব্যবহার না করা হয় তখন ফাইলটি findসনাক্ত করে না কেন ? এই ফাইলটি পাশাপাশি দেখানোর জন্য কীভাবে ব্যবহার করা হয়?errors.htmlgrepfind

উত্তর:


42

আপনাকে নিজের যুক্তিটি উদ্ধৃত করতে হবে error*কারণ শেলটি এটি প্রসারিত করে। সুতরাং আপনি এখন যা চালাচ্ছেন তা হ'ল find -name error_logকারণ শেলটি এটিকে প্রসারিত করতে পারে ( error_logআপনার বর্তমান ডিরেক্টরিতে একটি ফাইল রয়েছে )।

find . -name 'error*'

আপনার ব্যবহারের ক্ষেত্রে সঠিক অনুরোধ।


12
একটি পরিবর্তনীয় লেখাটি হ'ল find -name error\*- টিপতে এক কী কম;) এর একই প্রভাব রয়েছে, *
ফাইন্ড

3
শেলটি নিয়ে সমস্যা হলে (এটি কীভাবে আপনার কমান্ড-লাইনটিকে ব্যাখ্যা করে এবং সমস্ত আর্গুমেন্ট এবং প্যারামিটারগুলিকে প্রকৃত কমান্ডে পাস করে), কমান্ডটি প্রিন্ট করে পুনরায় রান করুন echo। সুতরাং, আপনি যদি echo find . -name error*find . -name error_log
চালাতেন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.