از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
Grep برای الگوهای چندگانه یا رشته ها
سرفصلهای مطلب
کاربران سیستم عامل لینوکس می توانند از grep برای بررسی الگوها یا رشته های مختلف در یک فایل استفاده کنند. در صورتی که سیستم عامل حاوی فایل هایی با رشته های متعدد باشد و کاربر بخواهد دو یا چند رشته مشخص شده از فایل را هدف قرار دهد یا به آن دست یابد، می توان از روش grep از چندین رشته یا الگو استفاده کرد. رشته ها و مسیر واقعی فایل مربوطه معمولاً در دستور grep گنجانده شده است. نماد لوله می تواند برای تقسیم آنها استفاده شود. قبل از لوله “|”، می توانیم یک بک اسلش برای ایجاد عبارات منظم اضافه کنیم. برای نادیده گرفتن موارد هنگام انجام عملیات جستجو، کاربران می توانند هنگام راه اندازی برنامه grep از گزینه “-i” استفاده کنند.
استفاده از “Grep” در رشته ها و الگوهای متعدد
برای استفاده از این روش در سیستم عامل لینوکس، ابتدا یک فایل متنی ایجاد می کنیم روی دسکتاپ با نام “file.txt” و سپس داده های عبارت را در فایل ذخیره کنید تا رشته را در آن جستجو کنید. ما داده ها را در این فایل متنی ذخیره می کنیم روی دسکتاپ همانطور که در زیر ارائه شده است:
پس از ایجاد و اضافه کردن داده ها در فایل، به سمت terminal از لینوکس سپس، دستور اعطای دسترسی به دسکتاپ را اضافه می کنیم، زیرا دایرکتوری “file.txt” یک دسکتاپ است. بنابراین، دستور “cd Desktop/” و دستوری را که به آن اختصاص میدهیم برای جستجوی دو رشته “bat” و “ball” که در دادههای فایل ما وجود دارد را اضافه میکنیم. ما از دستور ارائه شده زیر استفاده می کنیم:
پس از اضافه کردن دستور grep برای چند رشته، اینتر را فشار می دهیم. رشته “bat” و “ball” را که در رشته داده وجود دارد با حروف قرمز پررنگ نشان می دهد همانطور که در خروجی زیر می بینیم:
در اینجا، ما دو رشته را جستجو می کنیم. اکنون شاهد جستجوی سه رشته در داده های “file.txt” و جستجوی رشته های “هاکی”، “جهان” و “بدمینتون” در فایل هستیم. دستور زیر را با هم اضافه می کنیم terminal:
اضافه کردن این دستور در terminal و فشردن enter خروجی را با رشته هایی با فونت قرمز رنگ نمایش می دهد روی با جستجوی این رشتهها در دادههایی که در دادههای اعطایی «file.txt» ما وجود دارند، صفحه را مشاهده کنید. همانطور که در خروجی متنی پیوست شده می بینیم، سه خط رشته الگوی داده وجود دارد. فقط سه رشته به رنگ قرمزی که در دستور اختصاص داده ایم می گیرند. عمدتاً آن را برای جستجو هدف قرار می دهد، اما از طریق خواندن تمام رشته هایی که در فایل وجود دارد، می گذرد.
جام جهانی فیفا از 2022 آرژانتین برنده شد.
من عاشق بازی بدمینتون هستم.
اکنون، برای داشتن مفاهیم بیشتر مرتبط با الگوی رشتهها، یک فایل متنی جدید از “linux.txt” ایجاد میکنیم که در آن دادههای خطوط دستور را ذخیره میکنیم و از “grep –I” ساده استفاده میکنیم. ما رشتههای «لینوکس» و «چندین» را در فایل جستجو میکنیم که میتوانند بدون حساسیت حروف کوچک و بزرگ کار کنند. ممکنه تاثیری نداشته باشه روی حروف بزرگ یا کوچک رشته دستوری که در terminal برای این رشته در زیر برای فایل “linux.txt” ارائه شده است:
وقتی این دستور را به یک رشته اضافه می کنیم و آن را اجرا می کنیم، دو رشته خاص را از فایل ما که در رشته وجود دارد می خواند و آنها را با رنگ قرمز برجسته می کند و نشان می دهد که آن رشته ها را از الگو پیدا می کند. بقیه رشته های ناخواسته فقط به روشی ساده نمایش داده می شوند.
برای داشتن مفاهیمی مرتبط با الگوها در grep با جستجوی رشته ها، از چند دستور grep دیگر استفاده می کنیم. ما یک فایل جدید دیگر با نام “name.txt” به عنوان یک فایل متنی ایجاد می کنیم و آن را با نام هایی به عنوان یک رشته اعطا می کنیم. دستوری که ما استفاده می کنیم فقط رشته هایی که به طور خاص نامیده می شوند را هدف قرار می دهد و بقیه رشته را نادیده می گیرد حتی اگر آن را نمایش ندهد. روی صفحه نمایش خروجی رشتههایی که در خروجی نشان داده شدهاند دارای ترتیب متوالی هستند همانطور که قبلاً در فایل متنی وجود داشتند. همانطور که می خواهیم رشته های “Smith” و “Alex” را بدست آوریم، آنها را با دستور “grep –iw” می نویسیم. کل دستور در زیر ارائه شده است:
وقتی کار این دایرکتوری را مرور می کنیم، می بینیم که دو رشته اسمیت و الکس را نمایش می دهد. روی صفحه نمایش
الکس
در حال حاضر، ما برخی از مفاهیم الگوی برخی از رشته ها را مورد بحث قرار می دهیم. اگر بخواهیم یک نیم الگو را به جای نمایش کل رشته نشان دهیم، فقط از الگوی رشته مورد نیاز استفاده می کنیم به جز نام کامل رشته. اکنون، میخواهیم رشته «الکس» را به طور کامل بخوانیم، اما الگوی رشته «اسمیت» را میخواهیم. ما از “Smi” آن به جای نام کامل رشته استفاده می کنیم. برای این منظور دستور زیر را در لینوکس اختصاص می دهیم terminal:
پس از فشار دادن دکمه enter، دو نام رشته اسمیت و الکس نمایش داده می شود. روی صفحه نمایش اما رشته “Smith” نیمی از الگوی “Smi” را به عنوان رنگ قرمز برجسته نشان می دهد. و “th” خوانده نمی شود تا برجسته شود زیرا در دستور اعطا نشده است، بنابراین الگوی یک رشته را می سازد.
الکس
برای داشتن رابطه ای از الگو به همراه خطا یا تشخیص در رشته یا یافتن اینکه آیا رشته یا الگو در دایرکتوری وجود دارد یا نه، از grep به همراه “-c” استفاده می کنیم. سپس، “Linux” و “abc” را با مسیر الگو به عنوان “/home/linux” به عنوان محل مسیر کاربر سیستم عامل و “*.txt” برای شناسایی فایل متنی اختصاص می دهیم.
پس از اجرای دستور، مسیر را با “0” در فایل های لینوکس ما نمایش می دهد. با پسوند متن، ما به سادگی از اصطلاحات خاص استفاده می کنیم. از حساب برای نشان دادن تمام مطالب استفاده می شود. صفر (0) نشان دهنده هیچ داده تطبیقی نیست.
/خانه/لینوکس/mh.txt: 0
نتیجه
دستور grep لینوکس برای چندین الگو یا رشته در این مقاله پوشش داده شده است. ابتدا سه فایل با نام های “file.txt”، “linux.txt” و “name.txt” ایجاد کردیم. روی سیستم عامل ما که هر کدام شامل رشته ها یا الگوهای مختلفی است. قبل از استفاده از دستور سوم روی “linux.txt”، دو دستور اول در “the file.txt” استفاده می شود. برای مقابله با رشته ها یا الگوهای متعدد موجود در فایل “name.txt”، فرمان های چهارم و پنجم اعمال می شوند.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 11:26:04