از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
نمایش خطوط قبل و بعد از مسابقه از طریق Grep
سرفصلهای مطلب
Grep به طور گسترده در سیستم های لینوکس هنگام کار استفاده شده است روی برخی از فایل ها، جستجو برای برخی از الگوهای خاص، و بسیاری دیگر. این بار از دستور grep برای نمایش خطوط قبل و بعد از کلمه کلیدی همسان استفاده شده در یک فایل خاص استفاده می کنیم. برای این منظور، ما از پرچم “-A”، “-B” و “-C” در سراسر راهنمای آموزشی خود استفاده خواهیم کرد. بنابراین، شما باید هر مرحله را برای درک بهتر انجام دهید. مطمئن شوید که سیستم لینوکس اوبونتو 20.04 را نصب کرده اید.
ابتدا باید لینوکس خود را باز کنید command-line terminal برای شروع کار روی grep شما در حال حاضر در دایرکتوری اصلی سیستم اوبونتو خود بلافاصله بعد از آن هستید command-line terminal باز شده است. بنابراین، سعی کنید تمام فایلها و پوشهها را در فهرست اصلی سیستم لینوکس خود با استفاده از دستور ls زیر فهرست کنید و همه را دریافت خواهید کرد. می بینید، ما چند فایل متنی و چند پوشه در آن فهرست شده ایم.
مثال 01: استفاده از «-A» و «-B»
از فایل های متنی بالا، نگاهی به برخی از آنها خواهیم داشت و سعی می کنیم دستور grep را اعمال کنیم. روی آنها بیایید ابتدا فایل متنی “one.txt” را با استفاده از دستور محبوب “cat” در زیر باز کنیم:
ابتدا با استفاده از دستور grep مانند زیر، چند کلمه خاص را در این فایل متنی مطابقت خواهیم دید. ما در حال جستجوی کلمه “we” در فایل متنی “one.txt” با استفاده از دستورالعمل grep هستیم. خروجی دو خط از فایل متنی را نشان می دهد که عبارت “we” در آنها وجود دارد.
بنابراین، در این مثال، خطوط قبل و بعد از تطبیق کلمه خاص را در برخی از فایل های متنی نشان خواهیم داد. بنابراین با استفاده از همان فایل متنی “one.txt” ما در حالی که 3 خط قبل از آن را به صورت زیر نمایش می دهیم، کلمه “we” را مطابقت داده ایم. پرچم “-B” مخفف “قبل” است. خروجی فقط 2 خط را قبل از خط کلمه خاص نشان می دهد زیرا فایل قبل از خط یک کلمه خاص خطوط بیشتری ندارد. همچنین آن خطوطی را نشان می دهد که آن کلمه خاص در آنها وجود دارد.
بیایید از همان کلمه کلیدی “we” در این فایل برای نمایش 3 خط بعد از خطی که کلمه “we” را دارند استفاده کنیم. پرچم “-A” “بعد” را نشان می دهد. خروجی دوباره فقط 2 خط را نشان می دهد زیرا تعداد خطوط بیشتری در فایل وجود ندارد.
بنابراین، اجازه دهید از یک کلمه کلیدی جدید برای مطابقت استفاده کنیم و خطوط یا سطرها را قبل و بعد از خطی که در آن قرار دارد نمایش دهیم. بنابراین ما از کلمه “می توان” برای تطبیق استفاده کرده ایم. شماره خطوط در این مورد یکسان است. 3 خط بعد از کلمه مطابق “can” با استفاده از دستور grep در زیر نمایش داده شده است.
با استفاده از کلمه کلیدی “can” می توانید خروجی را قبل از خطوط یک کلمه منطبق مشاهده کنید. در مقابل، فقط دو خط را قبل از خط کلمه منطبق نشان می دهد زیرا هیچ خط دیگری قبل از آن وجود ندارد.
مثال 02: استفاده از «-A» و «-B»
بیایید یک فایل متنی دیگر، “two.txt” را از دایرکتوری خانه برداریم و محتویات آن را با استفاده از دستور “cat” زیر نمایش دهیم.
اجازه دهید 5 خط قبل از کلمه “Most” از فایل “two.txt” با استفاده از دستور grep نمایش داده شود. خروجی 5 خط را قبل از اینکه خط حاوی یک کلمه خاص باشد نشان می دهد.
دستور grep برای نشان دادن 5 خط بعد از کلمه “Most” از فایل متنی “two.txt” در زیر آورده شده است.
بیایید کلمه کلیدی مورد جستجو را تغییر دهیم. ما از “of” به عنوان یک کلمه کلیدی برای تطبیق این بار استفاده خواهیم کرد. نمایش 2 خط قبل از کلمه “of” از فایل متنی “two.txt” را می توان با استفاده از دستور grep زیر انجام داد. خروجی دو خط برای کلمه کلیدی “of” نشان می دهد زیرا دو بار در فایل آمده است. بنابراین خروجی شامل بیش از 2 خط است.
اکنون نمایش 2 خط فایل “two.txt” بعد از خط حاوی کلمه کلیدی “of” با دستور زیر قابل انجام است. خروجی دوباره بیش از 2 خط را نمایش می دهد.
مثال 03: استفاده از “-C”
پرچم دیگری، “-C” برای نمایش خطوط قبل و بعد از کلمه مطابقت داده شده استفاده شده است. بیایید محتویات فایل “one.txt” را با استفاده از دستور cat نمایش دهیم.
ما “جامعه” را به عنوان کلمه کلیدی برای مطابقت انتخاب می کنیم. دستور grep زیر 2 خط قبل و 2 خط بعد از خطی که کلمه “society” را در خود دارد نمایش می دهد. خروجی یک خط قبل از خط کلمه خاص و 2 خط بعد از آن را نشان می دهد.
بیایید با استفاده از دستور cat زیر محتویات فایل “two.txt” را ببینیم.
در این تصویر، ما از “شعر” به عنوان کلید واژه برای تطبیق استفاده می کنیم. بنابراین، دستور زیر را برای این کار اجرا کنید. خروجی دو خط قبل و دو خط بعد از کلمه منطبق را نشان می دهد.
بیایید از یک کلمه کلیدی دیگر از فایل “two.txt” برای مطابقت استفاده کنیم. ما این بار “طبیعت” را به عنوان یک کلمه کلیدی مصرف می کنیم. بنابراین، دستور زیر را در حالی که از “-C” به عنوان پرچم استفاده می کنید، با کلمه کلیدی “nature” از فایل “two.txt” استفاده کنید. این بار خروجی بیش از دو خط در خروجی دارد. از آنجایی که فایل بیش از یک بار حاوی کلمه “طبیعت” است، دلیل پشت آن نیز همین است. کلمه کلیدی “طبیعت” که اول می آید، دو سطر قبل و دو سطر بعد از آن دارد. در حالی که دومی با همان کلمه کلیدی مطابقت داشت، “nature” دو خط قبل از آن دارد، اما هیچ خطی بعد از آن وجود ندارد زیرا در آخرین خط فایل قرار دارد.
نتیجه
ما در نمایش خطوط قبل و بعد از کلمه خاص در حین استفاده از دستورالعمل grep موفق هستیم.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-31 00:13:03