কেন "গ্রেপ কীওয়ার্ড" টার্মিনালটিকে চিরতরে দাঁড় করিয়ে দিচ্ছে?


25

আমি যখন টার্মিনালে "গ্রেপ ডক" টাইপ করি, তখন এটি Ctrl+ Cবা ব্যবহার করা থেকে বাঁচার আগে টার্মিনালটিকে অন্য কোনও কিছু করা থেকে বিরত করে কিছুই করে না Z

আমি জানি এটি গ্রিপ ব্যবহার করার কথা নয়, তবে কেন কেন এটি ঘটছে তা আগ্রহী।

উত্তর:


40

grep কোনও ফাইল না দেওয়া থাকলে ডিফল্টরূপে স্ট্যান্ডার্ড ইনপুট অনুসন্ধান করে:

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

আপনি যদি grep docগ্রেপই কেবল প্রত্যাশা করেন যে স্ট্যান্ডার্ড ইনপুটটি এসে এটির ভিতরে অনুসন্ধান করবে ( টার্মিনালের মাঝে <এবং অংশে প্রবেশ করবে না >, এগুলি মন্তব্য):

$ grep doc
a b c <PRESS ENTER HERE>
doc <NO MATCH WAS FOUND IN PREVIOUS LINE, TYPE doc AND PRESS ENTER AGAIN>
doc <MATCH WAS FOUND>

6
গ্রেপ "সেশন" শেষ করতে ওপি নিজে নিজেই একটি লাইনে Ctrl + D টিপতে পারে।
কেভিন

2
ভাল উত্তর. শুধু মনে রাখবেন যে প্রায় কাছাকাছি কোন এক কি কখনও যে মত টাইপ করে, grep ব্যবহার করার প্রয়োজন চেয়েছিলেন, কিন্তু এটি একটি পূর্ববর্তী কমান্ড যা থেকে পাইপ মানক আউটপুটে আপনি করতে পারবেন হয় খুব দরকারী।
কার্ল বিলেফেল্ট

20
@ কার্লবিলিফেল্ড: জটিল রিজেক্সপস ডিবাগ করার এটি আসলে একটি সুবিধাজনক উপায়। আপনি নিজের মতো করে কিছু চালাতে পারেন grep '([a-z]+[0-9]*.x){2,3}'এবং আপনার কীবোর্ডে নমুনা রেখাগুলির একগুচ্ছ টাইপ করতে পারেন এটি নিশ্চিত করে যে এটি আপনার যা মনে করে তা মেলে matches মিলবে এমন রেখাগুলি প্রতিধ্বনিত হবে, এমন লাইনগুলি হবে না।
নাট এল্ডারেজ

1
@ নেটএলড্রেডজ: এর জন্য ব্যবহারিক উদাহরণ দেওয়ার জন্য ধন্যবাদ! আমি সর্বদা গ্রাপ এবং বিড়ালের মতো জিনিসগুলির নাল-আরগের আমন্ত্রণগুলিকে প্রধানত তাত্ত্বিক হিসাবে দেখতাম।
গোলকধাঁধা

1
@ ল্যাবাইরিন্থ এগুলি কোনও তাত্ত্বিক নয়, পাইপিংয়ের সময় এগুলি সর্বদা ব্যবহৃত হয়, যেমনsomecommand | grep foo
বার্মার

14

grep ইনপুট জন্য অপেক্ষা করছে।

থেকে man grep:

[...]
DESCRIPTION
       grep  searches  the named input FILEs (or standard input if no files are named
[...]
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.