زمان لازم جهت مطالعه این مقاله: 3 دقیقه (554 words)

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

Picture1

در دنیای لینوکس هر چیزی در قالب فایل می باشد و جهت کار با فایل ها دستورات متعددی وجود دارد. کانفیگ فایل ها، لاگ فایل ها و... نمونه ای از فایل های متنی هستند که با استفاده از دستوراتی نظیر 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 وجود داشته باشد، آن را در خروجی نمایش می دهد و در غیراینصورت عبارتی نمایش داده نمی شود.

 

B2ap3 Large M1

 

در این مثال در فایل 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

 

B2ap3 Large M2

 

 

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

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

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

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

 

B2ap3 Large M3

 

 

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

 

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

 

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

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

B2ap3 Large M4

 

 

 

 

 

 

 

 

 

 

 

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

 

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

grep -A 9 "shatel_tr" /etc/asterisk/sip_additional.conf

 

B2ap3 Large M5

 

 

 

 

 

 

 

 

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

grep "shatel_tr" sip.conf sip_custom.conf sip_additional.conf

 

B2ap3 Large M6

 

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

 

 

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

مرکز تماس OMniLeads نسخه 1.24 ارائه شد.
مرکز تماس OMniLeads نسخه 1.23 ارائه شد.

آرشیو مقالات

2023
دی
اسفند
ارديبهشت
خرداد
مرداد
شهریور
مهر
آبان
آذر
2014
دی
بهمن
اسفند
فروردين
ارديبهشت
خرداد
تیر
مرداد
شهریور
مهر
آبان
آذر
2013
اسفند
فروردين
ارديبهشت
خرداد
تیر
شهریور
مهر
آبان
آذر
2012
دی
بهمن
فروردين
ارديبهشت
خرداد
تیر
مرداد
مهر
آبان
آذر
2011
دی
بهمن
اسفند
فروردين
ارديبهشت
آبان
آذر
2010
بهمن
فروردين
ارديبهشت
خرداد
تیر
مرداد
مهر
آبان
آذر
2009
دی
اسفند
فروردين
ارديبهشت
خرداد
تیر
مرداد
شهریور
مهر
آبان
آذر

محبوب ترین مقالات

تنظیمات سیپ ترانک مخابراتاگر بخواهیم ساده ترین تعریف را داشته باشیم باید بگوییم SIP Trunk ، یک لینک ...
SIP TRUNK چیست؟سیپ ترانک در واقع یک روشی است که سیستم تلفنی های تجاری میتوانند از خطوط اینترنتی بجای...
چرا NATNAT  یا Network Address Translation راهکاری برای تبدیل آدرس های شبکه Local یا  Private به آدر...
کاربرد جهت مدل های  4104/4108 در این آموزش شما با نحوه تنظیم گیت وی های شهری برند گرنداستریم (Grands...
شرکت شاتل یکی از شرکت های دارنده مجوز FCP است که اقدام به ارائه خطوط ویپ با نام ShatelTalk کرده است،...
پورت های FXO و FXS به چه معناست؟ و کاربرد آنها چیست؟اگر شما در حال تحقیق جهت آشنایی بیشتر و ارتقای س...
راهنمای اتصال Gateway NewRock به سرور ایزابلدر گیتوی های برند Newrock برای اتصال به دستگاه و انجام م...