Categories: لینوکس (Linux)

دستور Grep، پیدا کردن یک متن در فایل ها

در دنیای لینوکس هر چیزی در قالب فایل می باشد و جهت کار با فایل ها دستورات متعددی وجود دارد. کانفیگ فایل ها، لاگ فایل ها و… نمونه ای از فایل های متنی هستند که با استفاده از دستوراتی نظیر cat, head, tail, more و… می توان محتویات آنها را مشاهده کرد. به دلیل حجیم بودن این فایل ها، کار کردن با دستوراتی مانند cat دشوار خواهد بود و نیازمند دستوراتی هستیم که قابلیت کار با پترن ها، جستجو و… را داشته باشند. یکی از این ابزارهای کاربردی grep می باشد که برگرفته از عبارت Global Regular Expression Print است. وظیفه این دستور جستجوی یک عبارت و یا الگو بین فایل یا فایل‌ها (یا رشته‌ها) می‌باشد. این دستور آپشن های فراوانی دارد و ما فقط در این بخش به موارد کاربردی تر در حوزه VoIP خواهیم پرداخت.

مثال: می خواهیم بررسی کنیم آیا سیپ ترانکی با نام shatel_tr در فایل sip_additional.conf وجود دارد؟

grep “shatel_tr” /etc/asterisk/sip_additional.conf

اگر در فایل فوق عبارت shatel_tr وجود داشته باشد، آن را در خروجی نمایش می دهد و در غیراینصورت عبارتی نمایش داده نمی شود.

در این مثال در فایل sip_additional.conf کانتکستی به نام shatel_tr وجود دارد. پس grep آن را پیدا کرده و در خروجی سطر مربوطه را نمایش می دهد.

نکته: به صورت پیش فرض grep به حروف کوچک و بزرگ حساس می باشد. در صورتی که بخواهیم این حساسیت در نظر گرفته نشود، می توانیم از آپشن i استفاده کنیم.

grep -i “shatel_tr” /etc/asterisk/sip_additional.conf

نکته: فرض کنید دنبال عبارت خاصی در لاگ فایل ها هستید، استفاده از مثال فوق یکی از روش های سودمند خواهد بود.

مثال: اکنون که می دانیم در فایل فوق context ای به نام shatel_tr وجود دارد، می خواهیم شماره خط آن را بدست آوریم.

grep -n “shatel_tr” /etc/asterisk/sip_additional.conf

تصویر فوق بیانگر این است که این context در خط ۲۲۱ شروع شده است.

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

مثال: به منظور فرآیند ممیزی می خواهیم بررسی کنیم چه تعداد داخلی SIP پسورد Admin110@ دارند.

grep -c “secret=Admin110@” /etc/asterisk/sip_additional.conf

در خروجی فوق عدد ۳ نمایش یافته است. پس ۳ اکانت سیپ پسورد Admin110@ دارند.

نکته: فرض کنید در لاگ ها فایل دنبال تعداد تلاش ها برای اتصال از یک IP خاص هستید، استفاده از دستور مثال فوق برای شما کاربردی خواهد بود.

مثال: اکنون که متوجه شدیم ۳ سیپ اکانت پسورد Admin110@ دارند، می خواهیم ابتدای context های آن ها را مشاهده کنیم.

grep -C 2 “secret=Admin110@” /etc/asterisk/sip_additional.conf

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

مثال: سیپ ترانکی با نام shatel_tr داریم. می خواهیم ۹ خط ابتدای context آن را مشاهده کنیم.

grep -A 9 “shatel_tr” /etc/asterisk/sip_additional.conf

مثال: در دایرکتوری /etc/asterisk/ هستیم. می خواهیم ببینیم در کدام یک از فایل های sip.conf , sip_additional.conf و sip_custom.conf کانتکستی با نام shatel_tr وجود دارد.

grep “shatel_tr” sip.conf sip_custom.conf sip_additional.conf

در این خروجی بیان می شود که این context در فایل sip_additional.conf وجود دارد.

“سید محمد سجاد تکیه”
مدرس و مجری پروژه های شبکه های کامپیوتری، VoIP و IoT

حامد کوه فلاح

متخصص، برنامه نویس و مدرس Asterisk و راهکارهای نوین ارتباطی آشنایی و کار با استریسک و راهکار های مشابه از سال 1382، پایه گذاری VOIPIRAN ارائه راهکار های کدباز VOIP همچون VAAK و VOIZ و CONNEXO همکار برنامه نویسی و آموزش با پروژه های Elastix و Issabel با بیش از 3000 دانشجو از سال 1387

Share
Published by
حامد کوه فلاح

Recent Posts

مرکز تماس چیست و چرا دوره مرکز تماس ایزابل برای متخصصین ویپ ضروری است؟

مرکز تماس ایزابل: دوره جامع Voipiran برای متخصصین ویپ در دنیای امروز، مراکز تماس به…

2 روز ago

نصب ایزابل روی دبیان ۱۱: راهنمای کامل و نکات فنی

نصب ایزابل بر روی دبیان 11: راهنمای جامع و فنی ایزابل (Issabel) یکی از محبوب‌ترین…

5 روز ago

بهبود کیفیت پیام‌های صوتی در VoIP: معرفی ابزارهای Adobe Podcast و AI-Coustics برای صدای حرفه‌ای

کیفیت پیام‌های صوتی در سیستم‌های تلفنی VoIP و اهمیت آن در دنیای ارتباطات، کیفیت پیام‌های…

1 هفته ago

ارتباط دو سیستم تلفنی Issabel با یکدیگر و شماره‌گیری داخلی‌ها به‌صورت مستقیم

در بسیاری از شرکت‌ها و سازمان‌ها، نیاز به ارتباط دو سیستم تلفنی مختلف یا دو…

2 هفته ago

مانیتورینگ پیشرفته سرویس‌های VoIP و IT با Uptime Kuma روی Issabel 5 و Rocky 8

مانیتورینگ سرورها و سرویس‌های VoIP یکی از مهم‌ترین کارهایی است که برای تضمین پایداری شبکه…

3 هفته ago

بررسی کامل بهترین برندهای سخت‌افزاری VoIP: Yealink، Cisco، Grandstream و دیگر برندهای معتبر

بررسی برندهای سخت‌افزاری VoIP: انتخاب بهترین گزینه برای متخصصین و کسب‌وکارها سیستم‌های تلفنی VoIP (Voice…

3 هفته ago