وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

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

0 3
زمان لازم برای مطالعه: 4 دقیقه


Grep به طور گسترده در سیستم های لینوکس هنگام کار استفاده شده است روی برخی از فایل ها، جستجو برای برخی از الگوهای خاص، و بسیاری دیگر. این بار از دستور grep برای نمایش خطوط قبل و بعد از کلمه کلیدی همسان استفاده شده در یک فایل خاص استفاده می کنیم. برای این منظور، ما از پرچم “-A”، “-B” و “-C” در سراسر راهنمای آموزشی خود استفاده خواهیم کرد. بنابراین، شما باید هر مرحله را برای درک بهتر انجام دهید. مطمئن شوید که سیستم لینوکس اوبونتو 20.04 را نصب کرده اید.

ابتدا باید لینوکس خود را باز کنید command-line terminal برای شروع کار روی grep شما در حال حاضر در دایرکتوری اصلی سیستم اوبونتو خود بلافاصله بعد از آن هستید command-line terminal باز شده است. بنابراین، سعی کنید تمام فایل‌ها و پوشه‌ها را در فهرست اصلی سیستم لینوکس خود با استفاده از دستور ls زیر فهرست کنید و همه را دریافت خواهید کرد. می بینید، ما چند فایل متنی و چند پوشه در آن فهرست شده ایم.

ls

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

مثال 01: استفاده از «-A» و «-B»

از فایل های متنی بالا، نگاهی به برخی از آنها خواهیم داشت و سعی می کنیم دستور grep را اعمال کنیم. روی آنها بیایید ابتدا فایل متنی “one.txt” را با استفاده از دستور محبوب “cat” در زیر باز کنیم:

$ گربه one.txt

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

ابتدا با استفاده از دستور grep مانند زیر، چند کلمه خاص را در این فایل متنی مطابقت خواهیم دید. ما در حال جستجوی کلمه “we” در فایل متنی “one.txt” با استفاده از دستورالعمل grep هستیم. خروجی دو خط از فایل متنی را نشان می دهد که عبارت “we” در آنها وجود دارد.

$ grep ما one.txt

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

بنابراین، در این مثال، خطوط قبل و بعد از تطبیق کلمه خاص را در برخی از فایل های متنی نشان خواهیم داد. بنابراین با استفاده از همان فایل متنی “one.txt” ما در حالی که 3 خط قبل از آن را به صورت زیر نمایش می دهیم، کلمه “we” را مطابقت داده ایم. پرچم “-B” مخفف “قبل” است. خروجی فقط 2 خط را قبل از خط کلمه خاص نشان می دهد زیرا فایل قبل از خط یک کلمه خاص خطوط بیشتری ندارد. همچنین آن خطوطی را نشان می دهد که آن کلمه خاص در آنها وجود دارد.

$ grep3 ما one.txt

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

بیایید از همان کلمه کلیدی “we” در این فایل برای نمایش 3 خط بعد از خطی که کلمه “we” را دارند استفاده کنیم. پرچم “-A” “بعد” را نشان می دهد. خروجی دوباره فقط 2 خط را نشان می دهد زیرا تعداد خطوط بیشتری در فایل وجود ندارد.

$ grep3 ما one.txt

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

بنابراین، اجازه دهید از یک کلمه کلیدی جدید برای مطابقت استفاده کنیم و خطوط یا سطرها را قبل و بعد از خطی که در آن قرار دارد نمایش دهیم. بنابراین ما از کلمه “می توان” برای تطبیق استفاده کرده ایم. شماره خطوط در این مورد یکسان است. 3 خط بعد از کلمه مطابق “can” با استفاده از دستور grep در زیر نمایش داده شده است.

$ grep3 می توانید one.txt

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

با استفاده از کلمه کلیدی “can” می توانید خروجی را قبل از خطوط یک کلمه منطبق مشاهده کنید. در مقابل، فقط دو خط را قبل از خط کلمه منطبق نشان می دهد زیرا هیچ خط دیگری قبل از آن وجود ندارد.

$ grep3 می توانید one.txt

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

مثال 02: استفاده از «-A» و «-B»

بیایید یک فایل متنی دیگر، “two.txt” را از دایرکتوری خانه برداریم و محتویات آن را با استفاده از دستور “cat” زیر نمایش دهیم.

$ گربه two.txt

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

اجازه دهید 5 خط قبل از کلمه “Most” از فایل “two.txt” با استفاده از دستور grep نمایش داده شود. خروجی 5 خط را قبل از اینکه خط حاوی یک کلمه خاص باشد نشان می دهد.

$ grep5 بیشتر two.txt

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

دستور grep برای نشان دادن 5 خط بعد از کلمه “Most” از فایل متنی “two.txt” در زیر آورده شده است.

$ grep5 بیشتر two.txt

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

بیایید کلمه کلیدی مورد جستجو را تغییر دهیم. ما از “of” به عنوان یک کلمه کلیدی برای تطبیق این بار استفاده خواهیم کرد. نمایش 2 خط قبل از کلمه “of” از فایل متنی “two.txt” را می توان با استفاده از دستور grep زیر انجام داد. خروجی دو خط برای کلمه کلیدی “of” نشان می دهد زیرا دو بار در فایل آمده است. بنابراین خروجی شامل بیش از 2 خط است.

$ grep2 از two.txt

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

اکنون نمایش 2 خط فایل “two.txt” بعد از خط حاوی کلمه کلیدی “of” با دستور زیر قابل انجام است. خروجی دوباره بیش از 2 خط را نمایش می دهد.

$ grep2 از two.txt

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

مثال 03: استفاده از “-C”

پرچم دیگری، “-C” برای نمایش خطوط قبل و بعد از کلمه مطابقت داده شده استفاده شده است. بیایید محتویات فایل “one.txt” را با استفاده از دستور cat نمایش دهیم.

$ گربه one.txt

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

ما “جامعه” را به عنوان کلمه کلیدی برای مطابقت انتخاب می کنیم. دستور grep زیر 2 خط قبل و 2 خط بعد از خطی که کلمه “society” را در خود دارد نمایش می دهد. خروجی یک خط قبل از خط کلمه خاص و 2 خط بعد از آن را نشان می دهد.

$ grep – سی 2 جامعه one.txt

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

بیایید با استفاده از دستور cat زیر محتویات فایل “two.txt” را ببینیم.

$ گربه two.txt

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

در این تصویر، ما از “شعر” به عنوان کلید واژه برای تطبیق استفاده می کنیم. بنابراین، دستور زیر را برای این کار اجرا کنید. خروجی دو خط قبل و دو خط بعد از کلمه منطبق را نشان می دهد.

$ grep – سی 2 اشعار two.txt

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

بیایید از یک کلمه کلیدی دیگر از فایل “two.txt” برای مطابقت استفاده کنیم. ما این بار “طبیعت” را به عنوان یک کلمه کلیدی مصرف می کنیم. بنابراین، دستور زیر را در حالی که از “-C” به عنوان پرچم استفاده می کنید، با کلمه کلیدی “nature” از فایل “two.txt” استفاده کنید. این بار خروجی بیش از دو خط در خروجی دارد. از آنجایی که فایل بیش از یک بار حاوی کلمه “طبیعت” است، دلیل پشت آن نیز همین است. کلمه کلیدی “طبیعت” که اول می آید، دو سطر قبل و دو سطر بعد از آن دارد. در حالی که دومی با همان کلمه کلیدی مطابقت داشت، “nature” دو خط قبل از آن دارد، اما هیچ خطی بعد از آن وجود ندارد زیرا در آخرین خط فایل قرار دارد.

$ grep -C 2 اشعار two.txt

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

نتیجه

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

پیشنهاد می‌کنیم بخوانید:  Bash Wildcard
برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-31 00:13:03

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید