مثالهای لینوکس grep

گاهی اوقات کاربران با نیاز به جستجوی اطلاعات خاص در هر فایل مواجه می شوند. اغلب اسناد پیکربندی و سایر داده های حجمی شامل تعداد زیادی خطوط است، بنابراین دستیابی داده های لازم غیرممکن است. سپس یکی از دستورات ساخته شده در سیستم عامل های لینوکس به نجات می رسد که به شما این امکان را می دهد که خطوط را فقط چند ثانیه پیدا کنید.

از دستور grep در لینوکس استفاده کنید.

با توجه به تفاوت های موجود در توزیع های لینوکس، در این مورد آنها هیچ نقش ایفا نمی کنند، زیرا دستور grep به شما علاقه مند است به طور پیش فرض در اکثر مجموعه ها در دسترس است و به طور دقیق مورد استفاده قرار می گیرد. امروز ما دوست داریم به بحث در مورد نه تنها اثر grep ، بلکه بحث های اصلی که می تواند روش جستجو را به طور قابل توجهی ساده کند.

همچنین ببینید: در حال جستجو برای فایل ها در لینوکس

کار آماده سازی

تمام اقدامات بعدی از طریق کنسول استاندارد انجام می شود، همچنین به شما اجازه می دهد تا فایل ها را تنها با مشخص کردن مسیر کامل به آنها، یا اگر ترمینال از دایرکتوری مورد نیاز راه اندازی شده است، باز کنید. شما می توانید پوشه پدر و مادر یک پرونده را بیابید و به آن در کنسول مانند این بروید:

  1. مدیر فایل را راه اندازی کنید و به پوشه دلخواه بروید.
  2. باز کردن مدیر فایل لینوکس

  3. راست کلیک بر روی فایل مورد نظر و انتخاب "خواص" .
  4. تغییر در ویژگی های پوشه در سیستم عامل لینوکس

  5. در تب "Basic"، پوشه "Parent parent" را بخوانید.
  6. پوشه فایل پدر و مادر در سیستم عامل لینوکس را پیدا کنید

  7. اکنون "ترمینال" را با استفاده از یک روش مناسب، از طریق منو یا با فشار دادن کلید Ctrl + Alt + T شروع کنید.
  8. شروع ترمینال برای کار بیشتر در لینوکس

  9. در اینجا، از طریق دستور cd /home/user/folder به دایرکتوری بروید، جایی که کاربر نام کاربری است و پوشه نام پوشه است.
  10. از یک ترمینال در لینوکس به یک پوشه خاص بروید

اگر می خواهید محتوای کامل را مشاهده کنید، از cat + название файла استفاده کنید. دستورالعمل های دقیق در مورد نحوه کار با این تیم در مقاله دیگر ما در لینک زیر یافت می شود.

با استفاده از دستور گربه در ترمینال لینوکس

جزئیات بیشتر: مثال دستور لینوکس گربه

با تشکر از مراحل فوق، می توانید از grep استفاده کنید ، در دایرکتوری راست، بدون مشخص کردن مسیر کامل به فایل.

جستجوی محتوای استاندارد

قبل از بررسی تمامی استدلال های موجود، مهم است که جستجوی معمولی توسط محتوا را ذکر کنید. در آن لحظات مفید خواهد بود زمانی که شما نیاز به پیدا کردن یک بازی ساده با ارزش و نمایش تمام خطوط مربوطه.

  1. در خط فرمان، grep word testfile وارد کنید، جایی که کلمه اطلاعاتی است که شما دنبال آن هستید و testfile نام فایل است. هنگام انجام جستجوی خارج از پوشه، مسیر کامل را به عنوان /home/user/folder/filename . پس از ورود به فرمان، کلید Enter را فشار دهید.
  2. جستجوی معمولی از طریق دستور grep در لینوکس

  3. تنها با داشتن گزینه های موجود آشنا می شود. خطوط کامل بر روی صفحه نمایش داده می شوند و مقادیر کلید در قرمز برجسته می شوند.
  4. نمایش نتایج جستجوی طبیعی با استفاده از دستور grep در لینوکس

  5. مهم است که حروف حروف را مورد توجه قرار دهیم، زیرا کدگذاری لینوکس برای جستجو بدون نیاز به توجه به شخصیت های بزرگ یا کوچک بهینه سازی نشده است. اگر می خواهید از تعریف مورد عبور دور شوید، grep -i "word" testfile تایپ grep -i "word" testfile .
  6. پیدا کردن محتویات یک فایل غیر حساس به لینوکس

  7. همانطور که می بینید، در تصویر بعدی، نتیجه تغییر کرد و یک خط جدید اضافه شد.
  8. نمایش کلمات یافت شده در مورد هیچ مورد در لینوکس

جستجو با ضبط رشته

گاهی اوقات کاربران نیاز به پیدا کردن نه تنها یک رکورد دقیق در ردیفها دارند، بلکه همچنین باید اطلاعاتی را که بعد از آنها به دست می آیند پیدا کنند، مثلا هنگام گزارش یک خطای خاص. سپس راه حل صحیح برای اعمال ویژگی ها است. grep -A3 "word" testfile در کنسول تایپ grep -A3 "word" testfile تا سه خط زیر را در نتیجه بعد از مسابقه وارد کنید. شما می توانید نوشتن -A4 ، سپس چهار خط اسیر خواهد شد، هیچ محدودیتی وجود دارد.

تعداد خطوط را بعد از کلید واژه در لینوکس نمایش دهید

اگر در عوض -A شما از استدلال -B + количество строк ، نتیجه داده هایی است که تا نقطه ورود می باشند.

تعداد خطوط قبل از کلمه کلیدی در لینوکس را نمایش می دهد

استدلال ، به نوبه خود، خطوط اطراف یک کلمه کلیدی را ضبط می کند.

رشته های کلمات کلیدی در لینوکس را نشان می دهد

در زیر میتوانید نمونههایی از انتساب استدلالهای مشخص را ببینید. لطفا توجه داشته باشید که باید پرونده را در نظر بگیرید و نقل قول های دوگانه را بدهید.

grep -B3 "word" testfile
grep -C3 "word" testfile

کلمات کلیدی را در ابتدای و پایان خطوط جستجو کنید

نیاز به تعریف یک کلمه کلیدی که در ابتدای یا انتهای خط است اغلب در طول کار با فایل های تنظیمات رخ می دهد، که هر خط مسئول یک پارامتر است. برای دیدن ورود دقیق در ابتدا، شما باید grep "^word" testfile . علامت ^ مسئول استفاده از این گزینه است.

جستجو برای کلمه کلیدی در ابتدای خط لینوکس

جستجو برای محتوا در پایان خطوط تقریبا به همین شکل اتفاق می افتد، فقط در نقل قول ها باید علامت $ را اضافه کنید، و دستور به صورت زیر است: grep "word$" testfile .

جستجو در کلمات کلیدی در پایان خط لینوکس

جستجو برای اعداد

هنگام جستجو برای مقادیر دلخواه، کاربر همیشه اطلاعاتی درباره کلمه دقیق موجود در رشته ندارد. سپس روش جستجو را می توان از طریق اعداد انجام داد که گاهی اوقات کار را بسیار ساده می کند. فقط لازم است که از فرمان در فرم grep "[0-7]" testfile ، جایی که "[0-7]" محدوده مقادیر است و testfile نام فایل اسکن شده است.

جستجو برای محدوده عددی در لینوکس

تجزیه و تحلیل تمام فایل های دایرکتوری

اسکن تمام اشیاء در همان پوشه به صورت بازگشتی نامیده می شود. کاربر نیاز به اعمال تنها یک استدلال دارد که تمام فایل های موجود در پوشه را تجزیه و تحلیل می کند و خطوط مناسب و مکان آنها را نمایش می دهد. شما باید grep -r "word" /home/user/folder ، جایی که / home / user / folder مسیر دایرکتوری برای اسکن است.

جستجوی مجدد از طریق دستور grep در لینوکس

آبی محل ذخیره سازی فایل را نمایش می دهد، و اگر شما می خواهید خطوط را بدون این اطلاعات دریافت کنید، یک استدلال دیگر را برای ایجاد دستور این grep -h -r "word" + путь к папке .

جستجوی مجدد بدون نمایش مسیر فایل در لینوکس

جستجوی دقیق کلمه

در ابتدای مقاله ما در مورد جستجوی کلمه معمول صحبت کردیم. با این وجود، با استفاده از این روش، ترکیبات اضافی در نتایج نشان داده می شوند. به عنوان مثال، کلمه User را پیدا می کنید، اما این دستور همچنین کاربر 123 ، کاربر رمز عبور و سایر بازی ها را نمایش می دهد، اگر وجود داشته باشد. برای جلوگیری از این نتیجه، پارامتر -w ( grep -w "word" + имя файла или его расположение ) را اختصاص دهید.

فقط ورودی های دقیق را در لینوکس نمایش دهید.

این گزینه همچنین زمانی اجرا می شود که شما نیاز دارید یک کلمه کلیدی دقیق را جستجو کنید. در این مورد، تایپ کنید egrep -w 'word1|word2' testifile . لطفا توجه داشته باشید که در این حالت نامه e به grep اضافه می شود و نقل قول های تک قرار می گیرند.

نمایش چندین ورودی دقیق در لینوکس

جستجو برای رشته ها بدون یک کلمه خاص

ابزار مورد نظر قادر است نه تنها برای پیدا کردن کلمات در فایل ها، بلکه همچنین برای نمایش خطوطی که هیچ مقدار مشخص شده توسط کاربر وجود ندارد. سپس، قبل از ورود به مقدار کلیدی و فایل، -v اضافه شده است. با تشکر از او، هنگامی که فرمان را فعال می کنید، فقط اطلاعات مرتبط را مشاهده خواهید کرد.

پیدا کردن رشته بدون کلمه مشخص در لینوکس

دستور زبان grep چند استدلال دیگر را گردآوری کرد که به طور خلاصه توضیح داده می شود:

  • -I - فقط نام فایل هایی را که با معیارهای جستجو مطابقت دارند نشان می دهد.
  • -s - غیر فعال کردن اعلان ها در مورد اشتباهات؛
  • -n - نمایش شماره خط در فایل؛
  • -b - شماره بلوک قبل از خط نمایش داده شود.

هیچ چیز مانع از استفاده از چندین استدلال برای یک یافته نمی شود، فقط آنها را با یک فضای جداگانه وارد کنید، و فراموش نکنید که حساب را به حساب آورید.

امروز، دستورالعمل grep کاملا در اختیار توزیع لینوکس قرار گرفته است. این یکی از استاندارد و اغلب استفاده می شود. شما می توانید در مورد سایر ابزارهای محبوب و نحو آنها در مواد جداگانه خود را در لینک زیر مطالعه کنید.

همچنین ببینید: دستورات اغلب مورد استفاده در ترمینال لینوکس