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

سرور مجازی NVMe

Grep برای الگوهای چندگانه یا رشته ها

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


کاربران سیستم عامل لینوکس می توانند از grep برای بررسی الگوها یا رشته های مختلف در یک فایل استفاده کنند. در صورتی که سیستم عامل حاوی فایل هایی با رشته های متعدد باشد و کاربر بخواهد دو یا چند رشته مشخص شده از فایل را هدف قرار دهد یا به آن دست یابد، می توان از روش grep از چندین رشته یا الگو استفاده کرد. رشته ها و مسیر واقعی فایل مربوطه معمولاً در دستور grep گنجانده شده است. نماد لوله می تواند برای تقسیم آنها استفاده شود. قبل از لوله “|”، می توانیم یک بک اسلش برای ایجاد عبارات منظم اضافه کنیم. برای نادیده گرفتن موارد هنگام انجام عملیات جستجو، کاربران می توانند هنگام راه اندازی برنامه grep از گزینه “-i” استفاده کنند.

استفاده از “Grep” در رشته ها و الگوهای متعدد

برای استفاده از این روش در سیستم عامل لینوکس، ابتدا یک فایل متنی ایجاد می کنیم روی دسکتاپ با نام “file.txt” و سپس داده های عبارت را در فایل ذخیره کنید تا رشته را در آن جستجو کنید. ما داده ها را در این فایل متنی ذخیره می کنیم روی دسکتاپ همانطور که در زیر ارائه شده است:

Grep برای الگوهای چندگانه یا رشته ها

پس از ایجاد و اضافه کردن داده ها در فایل، به سمت terminal از لینوکس سپس، دستور اعطای دسترسی به دسکتاپ را اضافه می کنیم، زیرا دایرکتوری “file.txt” یک دسکتاپ است. بنابراین، دستور “cd Desktop/” و دستوری را که به آن اختصاص می‌دهیم برای جستجوی دو رشته “bat” و “ball” که در داده‌های فایل ما وجود دارد را اضافه می‌کنیم. ما از دستور ارائه شده زیر استفاده می کنیم:

Linux@linux:~/Desktop$ grep خفاش\|ball’ file.txt

پس از اضافه کردن دستور grep برای چند رشته، اینتر را فشار می دهیم. رشته “bat” و “ball” را که در رشته داده وجود دارد با حروف قرمز پررنگ نشان می دهد همانطور که در خروجی زیر می بینیم:

Linux@linux:~$ بازی های زیادی وجود دارد اما دوست داشتنی ترین بازی ها که در انگلستان با چوب و توپ شناخته شده بازی می شود مانند کریکت

در اینجا، ما دو رشته را جستجو می کنیم. اکنون شاهد جستجوی سه رشته در داده های “file.txt” و جستجوی رشته های “هاکی”، “جهان” و “بدمینتون” در فایل هستیم. دستور زیر را با هم اضافه می کنیم terminal:

Linux@linux:~/Desktop$ grep “هاکی”|دنیا\|file.txt بدمینتون

اضافه کردن این دستور در terminal و فشردن enter خروجی را با رشته هایی با فونت قرمز رنگ نمایش می دهد روی با جستجوی این رشته‌ها در داده‌هایی که در داده‌های اعطایی «file.txt» ما وجود دارند، صفحه را مشاهده کنید. همانطور که در خروجی متنی پیوست شده می بینیم، سه خط رشته الگوی داده وجود دارد. فقط سه رشته به رنگ قرمزی که در دستور اختصاص داده ایم می گیرند. عمدتاً آن را برای جستجو هدف قرار می دهد، اما از طریق خواندن تمام رشته هایی که در فایل وجود دارد، می گذرد.

Linux@linux:~$ مردم هاکی هم بازی می کنند و تماشا کردن آن را با علاقه شدید
جام جهانی فیفا از 2022 آرژانتین برنده شد.
من عاشق بازی بدمینتون هستم.

اکنون، برای داشتن مفاهیم بیشتر مرتبط با الگوی رشته‌ها، یک فایل متنی جدید از “linux.txt” ایجاد می‌کنیم که در آن داده‌های خطوط دستور را ذخیره می‌کنیم و از “grep –I” ساده استفاده می‌کنیم. ما رشته‌های «لینوکس» و «چندین» را در فایل جستجو می‌کنیم که می‌توانند بدون حساسیت حروف کوچک و بزرگ کار کنند. ممکنه تاثیری نداشته باشه روی حروف بزرگ یا کوچک رشته دستوری که در terminal برای این رشته در زیر برای فایل “linux.txt” ارائه شده است:

Linux@linux:~/Desktop$ grep – من لینوکس|چندگانه linux.txt

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

Linux@linux:~$ این یک وبلاگ حرفه ای مرتبط با سیستم عامل لینوکس است برای موضوع مورد بحث grep برای رشته های متعدد

برای داشتن مفاهیمی مرتبط با الگوها در grep با جستجوی رشته ها، از چند دستور grep دیگر استفاده می کنیم. ما یک فایل جدید دیگر با نام “name.txt” به عنوان یک فایل متنی ایجاد می کنیم و آن را با نام هایی به عنوان یک رشته اعطا می کنیم. دستوری که ما استفاده می کنیم فقط رشته هایی که به طور خاص نامیده می شوند را هدف قرار می دهد و بقیه رشته را نادیده می گیرد حتی اگر آن را نمایش ندهد. روی صفحه نمایش خروجی رشته‌هایی که در خروجی نشان داده شده‌اند دارای ترتیب متوالی هستند همانطور که قبلاً در فایل متنی وجود داشتند. همانطور که می خواهیم رشته های “Smith” و “Alex” را بدست آوریم، آنها را با دستور “grep –iw” می نویسیم. کل دستور در زیر ارائه شده است:

Linux@linux:~/Desktop$ grep -iw ‘الکس\|اسمیت اسمیت.txt

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

Linux@linux:~$ اسمیت
الکس

در حال حاضر، ما برخی از مفاهیم الگوی برخی از رشته ها را مورد بحث قرار می دهیم. اگر بخواهیم یک نیم الگو را به جای نمایش کل رشته نشان دهیم، فقط از الگوی رشته مورد نیاز استفاده می کنیم به جز نام کامل رشته. اکنون، می‌خواهیم رشته «الکس» را به طور کامل بخوانیم، اما الگوی رشته «اسمیت» را می‌خواهیم. ما از “Smi” آن به جای نام کامل رشته استفاده می کنیم. برای این منظور دستور زیر را در لینوکس اختصاص می دهیم terminal:

Linux@linux:~/Desktop$ grep ‘اسمی\|نام الکس.txt

پس از فشار دادن دکمه enter، دو نام رشته اسمیت و الکس نمایش داده می شود. روی صفحه نمایش اما رشته “Smith” نیمی از الگوی “Smi” را به عنوان رنگ قرمز برجسته نشان می دهد. و “th” خوانده نمی شود تا برجسته شود زیرا در دستور اعطا نشده است، بنابراین الگوی یک رشته را می سازد.

Linux@linux:~$ اسمیت
الکس

برای داشتن رابطه ای از الگو به همراه خطا یا تشخیص در رشته یا یافتن اینکه آیا رشته یا الگو در دایرکتوری وجود دارد یا نه، از grep به همراه “-c” استفاده می کنیم. سپس، “Linux” و “abc” را با مسیر الگو به عنوان “/home/linux” به عنوان محل مسیر کاربر سیستم عامل و “*.txt” برای شناسایی فایل متنی اختصاص می دهیم.

Linux@linux:~/Desktop$ grep –c ‘linux\|abc /خانه/لینوکس/*txt

پس از اجرای دستور، مسیر را با “0” در فایل های لینوکس ما نمایش می دهد. با پسوند متن، ما به سادگی از اصطلاحات خاص استفاده می کنیم. از حساب برای نشان دادن تمام مطالب استفاده می شود. صفر (0) نشان دهنده هیچ داده تطبیقی ​​نیست.

/خانه/لینوکس/data.txt: 0
/خانه/لینوکس/mh.txt: 0

نتیجه

دستور grep لینوکس برای چندین الگو یا رشته در این مقاله پوشش داده شده است. ابتدا سه فایل با نام های “file.txt”، “linux.txt” و “name.txt” ایجاد کردیم. روی سیستم عامل ما که هر کدام شامل رشته ها یا الگوهای مختلفی است. قبل از استفاده از دستور سوم روی “linux.txt”، دو دستور اول در “the file.txt” استفاده می شود. برای مقابله با رشته ها یا الگوهای متعدد موجود در فایل “name.txt”، فرمان های چهارم و پنجم اعمال می شوند.

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

زمان انتشار: 1402-12-29 11:26:04

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

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

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