از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
30 مثال Grep
سرفصلهای مطلب
نحو:
به شرح زیر “grepدستور ” برای جستجوی یک رشته یا متن خاص در یک فایل استفاده می شود.
به شرح زیر “grepدستور ” برای جستجوی یک رشته یا متن خاص در چندین فایل استفاده می شود.
به شرح زیر “grepدستور ” برای جستجوی رشته های متعدد با فاصله در یک فایل استفاده می شود.
به شرح زیر “grepدستور ” برای جستجوی یک رشته با یک گزینه خاص در یک فایل استفاده می شود. گزینه های مختلف با ” استفاده می شودgrep” دستور برای اهداف مختلف.
به شرح زیر “grepدستور ” برای جستجوی یک الگوی خاص در یک فایل استفاده می شود.
به شرح زیر “grepدستور ” برای جستجوی یک الگوی خاص با گزینه موجود در یک فایل استفاده می شود.
به شرح زیر “grepدستور ” برای جستجوی رشته های متناوب در یک فایل استفاده می شود.
به شرح زیر “grepدستور ” برای جستجوی یک الگوی خاص در خروجی ” استفاده می شودps” فرمان
“grepدستور ” خطوط منطبق بر فایل را نمایش می دهد روی رشته یا الگوی جستجو به طور پیش فرض. 30 کاربرد مختلف “grepدستور ” در این آموزش با مثال های ساده نشان داده شده است.
محتوا:
- جستجوی رشته تطبیق
- فقط رشته های غیر منطبق را جستجو کنید
- جستجوی رشته با تطابق غیر حساس به حروف بزرگ
- فقط کل کلمه را جستجو کنید
- چندین فایل را در فهرست فعلی جستجو کنید
- جستجوی بازگشتی در دایرکتوری
- جستجو بدون استفاده از نام فایل
- شماره خط را به خروجی اضافه کنید
- استفاده از Wildcard برای مطابقت با یک کاراکتر
- استفاده از Wildcard برای تطبیق صفر یا چند بار
- استفاده از Wildcard برای تطبیق یک یا چند بار
- استفاده از Wildcard برای مطابقت با تعداد دقیق دفعات
- تعداد مشخصی از خطوط را بعد از خطوط منطبق چاپ کنید
- تعداد مشخصی از خطوط را قبل از خطوط منطبق چاپ کنید
- تعداد مشخصی از خطوط بعد و قبل از خطوط منطبق را چاپ کنید
- اعداد خاص را با استفاده از براکت سوم مطابقت دهید []
- با استفاده از براکت سوم، یک الگو را با کاراکترهای خاص مطابقت دهید []
- با استفاده از حروف الفبا و عددی مطابقت دهید [:alnum:] کلاس
- با استفاده از کاراکترهای الفبایی مطابقت دهید [:alpha:] کلاس
- با استفاده از کاراکترهای عددی مطابقت دهید [:digit:] کلاس
- با استفاده از حروف کوچک مطابقت دهید [:lower:] کلاس
- با استفاده از کاراکترهای قابل چاپ مطابقت دهید [:print:] کلاس
- با استفاده از کاراکتر فضایی مطابقت دهید [:space:] کلاس
- مسابقه از ابتدای خط
- مطابقت با پایان خط
- مطابقت با الحاق
- مطابقت با جایگزین
- مطابقت با مراجع برگشتی
- ترکیب “grep” با “ps” فرمان با استفاده از لوله
- ترکیب “grep” با “بیخیال” دستور چاپ فیلدهای خاص
جستجوی رشته تطبیق:
ساده ترین استفاده از “grepدستور عبارت است از جستجوی یک رشته خاص در یک فایل. یک فایل متنی ساده با نام ایجاد کنید customers.txt با محتوای زیر برای بررسی انواع مختلف “grep” دستورات:
customers.txt
11 دکتر ابیر ابیر@gmail.com +8801813462458
23 ریا چاکروبورتی ریا@gmail.com +8801937864534
45 منهاز علی علی@gmail.com +8801190761212
56 ملیحه چاودری ملیحه@gmail.com +8801820001980
79 معروف سرکار معروف@gmail.com +8801670908966
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” رشته را جستجو می کند ”علی‘ در customers.txt فایل. اگر رشته جستجو در فایل وجود داشته باشد، خط حاوی رشته چاپ خواهد شد:
به شرح زیر “grepدستور “متن را جستجو می کند”ملیحه چاودری‘ در customers.txt فایل. اگر متن جستجو شده در فایل وجود داشته باشد، خط حاوی متن چاپ خواهد شد:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به خروجی، رشته ‘علی‘ وجود دارد در خط 4و متنملیحه چاودری‘ وجود دارد در خط 5 از customers.txt فایل. بنابراین، خط چهارم فایل برای اولین بار چاپ شده است.grepدستور ” و خط پنجم فایل برای دومین ” چاپ شده است.grep” فرمان
فقط رشته های غیر منطبق را جستجو کنید:
گزینه -v از “grepدستور ” برای جستجوی رشته های غیر همسان از یک فایل استفاده می شود. در این مثال، «grepدستور ” با گزینه -v برای جستجوی رشته های غیر همسان از customers.txt فایل ایجاد شده در مثال اول
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور با گزینه –v آن خطوط را جستجو می کند customers.txt فایلی که شامل رشته نیست،ابیر‘. خطوط فایلی که شامل رشته نیستابیر‘ چاپ خواهد شد:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. پنج خط در وجود دارد customers.txt فایلی که شامل رشته نیستابیر‘، و این خطوط در خروجی چاپ شده است:
جستجوی رشته با تطابق غیر حساس به حروف کوچک و بزرگ:
“grepدستور ” به طور پیش فرض رشته را از فایل به روشی حساس به حروف بزرگ و کوچک جستجو می کند. گزینه -i از “grepدستور ” برای جستجوی رشته از یک فایل به روشی غیر حساس به حروف بزرگ و کوچک استفاده می شود. در این مثال، «grepدستور ” با گزینه -i برای جستجوی یک رشته خاص به روشی غیر حساس از حروف بزرگ و کوچک استفاده شده است customers.txt فایلی که قبلا ایجاد شده بود
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور با گزینه –i خطوطی از فایل customers.txt را که حاوی رشته هستند جستجو می کند.منهاز‘. اگر یک یا چند خط در فایل با رشته وجود داشته باشد که در آن حرف می تواند بزرگ یا کوچک باشد، آن خط چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به خروجی، خط چهارم فایل متنی حاوی کلمه “منهاز“که با کلمه مطابقت دارد”منهازاگر رشته ها به روشی غیر حساس به حروف بزرگ مقایسه شوند. بنابراین، خط چهارم فایل با برجسته کردن رشته جستجو در خروجی چاپ شده است.
فقط کل کلمه را جستجو کنید:
را -w گزینه “grepدستور ” برای جستجوی کل کلمه از یک فایل به روشی حساس به حروف بزرگ و کوچک استفاده می شود. در این مثال، «grepدستور ” با گزینه -w برای جستجوی یک کلمه کامل از آن استفاده شده است customers.txt فایلی که در مثال اول ایجاد شده است.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” خطوطی از فایل متنی را که حاوی رشته هستند جستجو می کند.مامان‘. اگر هر خطی از فایل حاوی رشته باشد، ‘مامان‘، سپس آن خط چاپ خواهد شد:
به شرح زیر “grepدستور ” خطوطی از فایل متنی را که حاوی کلمه ” هستند جستجو می کند.مامان‘ دقیقا. اگر هر خطی از فایل حاوی کلمه “ماماندقیقاً، سپس آن خط چاپ خواهد شد:
به شرح زیر “grepدستور ” خطوطی از فایل متنی را که حاوی کلمه ” هستند جستجو می کند.ملیحه‘ دقیقا. اگر هر خطی از فایل حاوی کلمه “ملیحهدقیقاً، سپس آن خط چاپ خواهد شد:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. “grepدستور با گزینه –w و کلمه جستجوگرمامان“چیزی برگرداند زیرا فایل متنی حاوی کلمه ای نیست”مامان‘. “grepدستور با گزینه –w و کلمه جستجوگرملیحه‘ خط پنجم فایل حاوی کلمه ” را برگرداند.ملیحه“.
جستجوی چندین فایل در فهرست فعلی:
“grepدستور ” برای جستجوی محتوای خاص در یک فایل و جستجوی چندین فایل در دایرکتوری فعلی استفاده می شود روی جستجوی رشته یا الگو روش جستجوی چندین فایل در فهرست فعلی با استفاده از علامت “*” در این مثال برای نشان داده شده است customers.txt فایل.
دستور زیر تمام فایل ها و پوشه های دایرکتوری فعلی را نمایش می دهد:
به شرح زیر “grepدستور ” آن فایل های دایرکتوری فعلی را که حاوی کلمه ” هستند جستجو می کند.شکاف‘. لیستی از نام فایل ها با خطوط حاوی کلمه ‘split’ در فهرست فعلی چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به خروجی، چهار فایل در دایرکتوری فعلی حاوی کلمه ‘split’ هستند و اینها هستند تقسیم 1.bash، تقسیم 2.bash، split3.bash، و split4.bash.
جستجوی بازگشتی در دایرکتوری:
گزینه -r با ” استفاده می شودgrepدستور ” برای جستجوی یک رشته یا الگوی خاص به صورت بازگشتی در یک فهرست. استفاده از “grepدستور برای جستجوی بازگشتی در فهرست فعلی در این مثال برای customers.txt فایل.
دستور زیر تمام فایل ها و پوشه های دایرکتوری فعلی را نمایش می دهد:
به شرح زیر “grepدستور ” آن دسته از فایل های دایرکتوری فعلی را به صورت بازگشتی جستجو می کند که حاوی کلمه “شکاف‘. فایلهای دایرکتوری فعلی و زیرمجموعهای که حاوی کلمه ‘split’ هستند با خطوط زیر چاپ میشوند:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به خروجی، پنج فایل در دایرکتوری فعلی حاوی کلمه “split” هستند. چهار فایل در دایرکتوری فعلی وجود دارد و اینها هستند تقسیم 1.bash، تقسیم 2.bash، split3.bash، و split4.bash. فایل 1 در دایرکتوری فرعی وجود دارد و همینطور است splitstr.c.
جستجو بدون استفاده از نام فایل:
را -h یا – بدون نام فایل گزینه با ” استفاده می شودgrepدستور ” برای جستجوی یک رشته یا الگوی خاص بدون استفاده از نام فایل. این گزینه در صورتی مفید است که فقط یک فایل در دایرکتوری فعلی وجود داشته باشد. روش جستجو بدون استفاده از نام فایل توسط “grepدستور ” در این مثال ارائه شده است.
دستور زیر تمام فایل ها و پوشه های دایرکتوری فعلی را نمایش می دهد:
دستور زیر محتوای آن را نمایش می دهد products.txt فایل، که تنها فایل دایرکتوری فعلی است و باید قبل از اجرای ” ایجاد شودgrep” دستور:
به شرح زیر “grepدستور ” آن خطوط را جستجو می کند products.txt فایلی که حاوی کلمه “لپ تاپو آن خطوط را چاپ کنید:
خروجی:
خروجی زیر پس از اجرای دستورات بالا از روی نمایش داده می شود terminal. رشته جستجوگرلپ تاپ‘ در جستجو شده است products.txt فایل. با توجه به خروجی، خط پنجم و ششم فایل products.txt حاوی کلمه “لپ تاپ‘، و این خطوط با برجسته کردن رشته مطابق چاپ شده است:
اضافه کردن شماره خط به خروجی:
را -n گزینه “grepدستور ” برای چاپ خروجی رشته جستجو با شماره خط فایل استفاده می شود. در این مثال، «grepدستور ” با گزینه -n برای نمایش خروجی جستجو با شماره خط استفاده شده است customers.txt فایلی که در مثال اول ایجاد شده است.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” آن خطوط فایل متنی را با شماره خطی که شامل رشته است جستجو و چاپ می کند.+88018‘. خطوط فایل حاوی رشته ‘+88018‘ چاپ خواهد شد:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به خروجی، خط دوم و پنجم از customers.txt فایل حاوی رشته ‘+88018‘. بنابراین، این دو خط با برجسته کردن رشته مطابق با شماره خط چاپ شده است.
استفاده از Wildcard برای مطابقت دادن یک کاراکتر:
“.” کاراکتر wildcard در عبارت منظم برای مطابقت با یک کاراکتر استفاده می شود. هنگامی که همه کاراکترهای کلمه جستجو شده شناخته نشده باشند، می توان از این کاراکتر برای تعریف الگوی “استفاده کرد.grepدستور ” برای جستجوی آن کلمه خاص در فایل. استفاده از این حروف عام برای یک کاراکتر تک منطبق در customers.txt فایل در این مثال ارائه شده است.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” آن خطوط را جستجو و چاپ می کند customers.txt فایلی که حاوی کلمه با پنج کاراکتر است و با ‘ شروع می شودمامان‘. در اینجا، از سه نقطه (.) در الگو برای نشان دادن سه کاراکتر منفرد استفاده شده است:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به خروجی، خط ششم فایل شامل رشته، ‘معروفاین پنج کاراکتر است و با “ما” شروع می شود. بنابراین، خط ششم با برجسته کردن رشته مطابق چاپ شده است. خط پنجم فایل نیز شامل رشته ای است که با ‘Ma’ شروع می شود، اما طول کلمه بیش از پنج کاراکتر است. بنابراین خط پنجم چاپ نشده است.
استفاده از Wildcard برای تطبیق صفر یا چند بار:
کاراکتر علامت * (ستاره) با علامت ” استفاده می شودgrepدستور ” برای مطابقت با رشته یا الگوی صفر یا چند بار. استفاده از این علامت عام برای تطبیق هر رشته برای صفر یا بیشتر در این مثال برای نشان داده شده است customers.txt فایل.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” خطوطی از فایل متنی را که شامل رشته ‘+880′ و هر رشته ای که با ’18’ بعد از آن رشته شروع می شود، جستجو می کند. مسابقه را می توان صفر یا چند بار پیدا کرد. خطوط فایل که با الگو مطابقت دارند،+880*18‘ چاپ خواهد شد:
به شرح زیر “grepدستور ” خطوطی از فایل متنی را که شامل رشته ‘+880′ و هر رشته ای که با ’15’ بعد از آن رشته شروع می شود، جستجو می کند. مطابقت را می توان صفر یا چند بار مانند قبل پیدا کرد. خطوط فایل که با الگو مطابقت دارند،+880*15‘ چاپ خواهد شد:
خروجی:
خروجی زیر پس از اجرای دستورات بالا از روی نمایش داده می شود terminal. با توجه به خروجی، دو خط از فایل با الگو مطابقت دارد، ‘+880*18“از اولین”grepدستور ”، و این خطوط با برجسته کردن عدد مطابق، چاپ شده اند.88018‘. هیچ خطی از فایل با الگو مطابقت ندارد+880*15و خروجی خالی برای دوم ایجاد می شودgrep” دستور:
استفاده از Wildcard برای مطابقت با تعداد دقیق دفعات:
براکت دوم {} با n عدد در الگو استفاده می شود تا رشته خاصی را در یک فایل برای تعداد دقیق دفعات مطابقت دهد. استفاده از براکت دوم {} با یک عدد در یک الگو در این مثال برای نشان داده شده است customers.txt فایل.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” خطوطی از فایل متنی را جستجو می کند که دقیقاً شامل تعداد دو رقم از اعداد 1 تا 5 است. خطوط فایل مطابق با الگو چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. خطوط دوم، سوم و چهارم فایل متنی شامل 11، 13، 24، 23، 45، 34 و 12 است. این خطوط در محدوده 1 تا 5 قرار دارند. این خطوط با برجسته کردن تطابق در خروجی چاپ شده اند. شماره.
چاپ تعداد مشخصی از خطوط بعد از خطوط منطبق:
را -آ یا – پس زمینه با یک مقدار عددی برای چاپ تعداد مشخصی از خطوط پس از رشته یا الگوی مطابق موجود در فایل استفاده می شود. استفاده از -آ گزینه “grepدستور ” در این مثال برای customers.txt فایل.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” خطوط فایل customers.txt را نشان می دهد که شامل رشته است.ریاو دو خط بعدی بعد از خط تطبیق. اگر هیچ خطی از فایل با رشته مطابقت نداشته باشد، خروجی تولید نخواهد شد.ریا‘:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. رشته ‘ریا‘ در خط سوم فایل وجود دارد. خط چهارم و پنجم دو خط بعدی خط تطبیق هستند. بنابراین، خطوط سوم، چهارم و پنجم با برجسته کردن رشته منطبق در خروجی چاپ شده است.
چاپ تعداد مشخصی از خطوط قبل از خطوط منطبق:
را -ب یا -قبل از زمینه با یک مقدار عددی برای چاپ تعداد مشخصی از خطوط قبل از رشته یا الگوی مطابق موجود در فایل استفاده می شود. استفاده از را -ب گزینه “grepدستور ” در این مثال برای customers.txt فایل.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” خطی را که شامل رشته است نمایش می دهدریاو یک خط قبل از خط تطبیق. اگر هیچ خطی از فایل با رشته مطابقت نداشته باشد، خروجی تولید نخواهد شد.ریا‘:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. رشته «ریا» در خط سوم فایل وجود دارد. خط دوم خط قبلی خط تطبیق است. بنابراین، خط دوم و سوم با برجسته کردن رشته مطابق در خروجی چاپ شده است.
چاپ تعداد مشخصی از خطوط بعد و قبل از خطوط منطبق:
را -C گزینه ای با مقدار عددی برای چاپ تعداد مشخصی از خطوط قبل و بعد از رشته یا الگوی مطابق موجود در فایل استفاده می شود. استفاده از -C گزینه “grepدستور، در این مثال برای customers.txt فایل.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” خطی را که شامل رشته است نمایش می دهدملیحه‘، یک خط قبل از خط تطبیق و یک خط بعد از خط تطبیق. اگر هیچ خطی از فایل با رشته مطابقت نداشته باشد، خروجی تولید نخواهد شد.ملیحه‘.
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. خط پنجم شامل رشته، ‘ملیحه‘. خط چهارم خط قبلی خط تطبیق است و خط ششم خط زیر خط تطبیق است. بنابراین، خطوط چهارم، پنجم و ششم با برجسته کردن رشته منطبق در خروجی چاپ شده است.
اعداد خاص را با استفاده از براکت سوم مطابقت دهید []:
محدوده ارقام خاص را می توان در الگوی عبارت منظم از ” تعریف کرد.grep” با استفاده از براکت سوم فرمان دهید []. روش جستجوی ارقام خاص با استفاده از “grepدستور در customers.txt فایل در این مثال ارائه شده است.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” خطوط فایل متنی حاوی ارقام محدوده 3 تا 5 را جستجو می کند. خطوط فایل مطابق با الگو چاپ می شود:
به شرح زیر “grepدستور ” خطوطی از فایل متنی را که شامل دو رقم از محدوده 3 تا 5 هستند جستجو می کند. خطوط فایل مطابق با الگو چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. اولین “grepدستور ” با خطوط دوم، سوم، چهارم و پنجم فایل متنی برای ارقام 3، 4 و 5 مشخص شده در خروجی مطابقت دارد. دومین “grepدستور ” با خطوط دوم، سوم و چهارم فایل متنی برای اعداد دو رقمی حاوی 3، 4 و 5 که در خروجی هایلایت شده اند مطابقت دارد.
با استفاده از براکت سوم، یک الگو را با کاراکترهای خاص مطابقت دهید []:
کاراکترهای خاص یک فایل می توانند با استفاده از براکت سوم به روش های مختلفی مطابقت داشته باشند. محدوده کاراکترها یا کاراکترهای خاص را می توان در الگوی عبارت منظم با استفاده از براکت سوم برای جستجوی خطوط خاصی از فایل استفاده کرد. روش جستجوی کاراکترهای خاص در فایل customers.txt با استفاده از الگوی محدوده کاراکترها یا کاراکترهای خاص در این مثال ارائه شده است.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” خطوطی را که شامل رشته ای هستند که با ‘Ma’ شروع می شود و هر کاراکتر از محدوده a تا r را جستجو می کند. خطوط فایل مطابق با این الگو چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به عبارت منظم استفاده شده در “grepدستور ” خط پنجم و ششم فایل متنی مطابقت دارند و این خطوط در خروجی چاپ شده است. این خطوط شامل رشته، ‘مامان‘، و کاراکتر بعدی این رشته ‘ل“و”r‘، که در محدوده هستند [a-r].
به شرح زیر “grepدستور ” خطوطی از فایل متنی را که حاوی کاراکتر هستند جستجو می کندآر‘ یا ‘r‘. خطوط فایل مطابق با این الگو چاپ می شود:
به شرح زیر “grepدستور ” خطوطی از فایل متنی را که حاوی رشته ها هستند جستجو می کند.AR‘ یا ‘آر‘ یا ‘aR‘ یا ‘ar‘. خطوط فایل مطابق با این الگو چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. الگوی اولین ”grepدستور ” با خطوط دوم، سوم، پنجم و ششم فایل متنی مطابقت داشته و آن خطوط در خروجی چاپ شده است. الگوی دومgrepدستور ” با خط ششم فایل متنی مطابقت دارد و آن خط در خروجی چاپ شده است.
با استفاده از حروف الفبا و عددی مطابقت دهید [:alnum:] کلاس:
را [:alnum:] class در الگوی عبارت منظم برای مطابقت با کاراکترهای الفبایی و عددی استفاده می شود. معادل الگو است، [A-z0-9]. روش استفاده از این کلاس به عنوان الگوی “grep” دستور جستجوی تمام کاراکترهای الفبایی و عددی customers.txt فایل در این مثال ارائه شده است.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” هر حروف و تعداد سه کاراکتر را در فایل customers.txt جستجو می کند. خطوط فایل مطابق با الگو چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به محتوای فایل، تمام خطوط شامل الفبا یا تعداد سه کاراکتر است. حروف و اعداد منطبق در خروجی با حذف کاراکترهای خاص، حروف الفبای غیر منطبق و نویسه های عددی برجسته می شوند.
با استفاده از کاراکترهای الفبایی مطابقت دهید [:alpha:] کلاس:
را [:alpha:] class در الگوی عبارت منظم استفاده می شود تا فقط با کاراکترهای الفبایی مطابقت داشته باشد. معادل الگو است، [A-z]. روش استفاده از این کلاس به عنوان الگوی “grep” دستور جستجوی تمام حروف الفبای customers.txt فایل در این مثال ارائه شده است.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” هر کاراکتر الفبای پنج کاراکتری را در فایل customers.txt جستجو می کند. خطوط فایل مطابق با الگو چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به محتوای فایل، تمام خطوطی که شامل حروف الفبای پنج کاراکتر و الفبای منطبق هستند در خروجی با حذف ارقام، کاراکترهای غیر منطبق و کاراکترهای خاص برجسته می شوند.
با استفاده از کاراکترهای عددی مطابقت دهید [:digit:] کلاس:
را [:digit:] کلاس در الگوی عبارت منظم استفاده می شود تا فقط با کاراکترهای عددی مطابقت داشته باشد. معادل الگو است [0-9]. روش استفاده از این کلاس به عنوان الگوی “grepفرمان ” برای جستجوی تمام کاراکترهای عددی customers.txt فایل در این مثال ارائه شده است.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” تمام کاراکترهای عددی موجود در فایل customers.txt را جستجو می کند. خطوط فایل مطابق با الگو چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. در محتوای فایل، تمام خطوط حاوی ارقام و ارقام مطابق با حذف تمام حروف الفبا و کاراکترهای خاص در خروجی برجسته می شوند.
با استفاده از حروف کوچک مطابقت دهید [:lower:] کلاس:
را [:lower:] class در الگوی عبارت منظم برای مطابقت با تمام کاراکترهای کوچک استفاده می شود. معادل الگو است، [a-z]. روش استفاده از این کلاس به عنوان الگوی “grepدستور ” برای جستجوی تمام کاراکترهای کوچک customers.txt فایل در این مثال ارائه شده است.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” تمام کاراکترهای کوچک در فایل customers.txt را جستجو می کند. خطوط فایل مطابق با الگو چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به محتوای فایل، تمام خطوط دارای حروف کوچک هستند. بنابراین، تمام خطوط فایل چاپ شده است و کاراکترهای کوچک مطابق با حذف ارقام، حروف بزرگ و کاراکترهای خاص در خروجی هایلایت می شوند.
با استفاده از کاراکترهای قابل چاپ مطابقت دهید [:print:] کلاس:
را [:print:] class در الگوی عبارت منظم برای مطابقت با کاراکترهای قابل چاپ استفاده می شود. روش استفاده از این کلاس به عنوان الگوی “grepدستور ” برای جستجوی تمام کاراکترهای قابل چاپ customers.txt فایل در این مثال ارائه شده است.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” تمام کاراکترهای قابل چاپ را در فایل customers.txt جستجو می کند. خطوط فایلی که با الگو مطابقت دارد چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به خروجی، تمام کاراکترهای فایل customers.txt کاراکترهای قابل چاپ هستند. بنابراین، تمام خطوط فایل چاپ شده است و همه کاراکترها در خروجی هایلایت شده اند.
با استفاده از کاراکتر فضایی مطابقت دهید [:space:] کلاس:
را [:space:] class در الگوی عبارت منظم برای مطابقت با خطوطی که حاوی کاراکترهای فاصله هستند استفاده می شود. این کلاس را می توان در الگوی ” استفاده کردgrepدستور ” برای جستجوی خطوط فایل حاوی کاراکترهای فاصله. یک فایل متنی با نام demo.txt با محتوای زیر ایجاد کنید تا استفاده از آن را بررسی کنید [:space:] کلاس در اینجا، خط دوم فایل حاوی کاراکترهای فاصله است:
demo.txt
به LinuxHint خوش آمدید
دستور زیر محتوای آن را نمایش می دهد demo.txt فایل:
به شرح زیر “grepدستور ” آن خطوط را جستجو می کند دمو.txt فایل حاوی فضا خطوط فایل حاوی فاصله چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. فقط یک خط از فایل متنی حاوی فضایی است که در خروجی چاپ شده است. خط اول فایل چاپ نشده است زیرا فضایی در خط وجود ندارد. خط دوم فایل به دلیل وجود دو فاصله در خط چاپ می شود.
مسابقه از ابتدای خط:
نماد caret (^) در عبارت منظم برای مطابقت با خط شروع شده با کاراکتر یا رشته خاص در یک فایل استفاده می شود. استفاده از این نماد در این مثال برای فایل customers.txt که قبلا ایجاد شده بود ارائه شده است.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” خطوطی از فایل customers.txt را که با عدد 4 شروع می شود جستجو می کند. خطوط فایل مطابق با الگو چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به خروجی، فقط یک خط در فایل customers.txt وجود دارد که با ‘ شروع می شود.4‘. خط چهارم فایل است که در خروجی چاپ شده است.
مسابقه تا پایان خط:
نماد دلار ($) در عبارت منظم برای تطبیق انتهای خط با کاراکتر یا رشته خاص در یک فایل استفاده می شود. استفاده از این نماد در این مثال برای فایل customers.txt که قبلا ایجاد شده بود ارائه شده است.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” آن خطوط را جستجو می کند customers.txt فایلی که با رشته ختم می شود،1212‘. خطوط فایل مطابق با الگو چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به خروجی، تنها یک خط در فایل customers.txt وجود دارد که با ‘ ختم می شود.1212‘. خط چهارم فایل است که در خروجی چاپ شده است.
مطابقت با الحاق:
الگوی بیان منظم را می توان با الحاق چندین الگو ایجاد کرد. نقطه (.) برای به هم پیوستن الگوها استفاده می شود. استفاده از الحاق با “grepدستور ” در این مثال برای customers.txt فایل.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” آن خطوط را جستجو می کند customers.txt فایلی که حاوی کلمه ای است که با ‘ شروع می شودم‘ یا ‘آر“و با” ختم می شودک‘ یا ‘ک‘. خطوط فایل مطابق با الگو چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به خروجی، دو خط در وجود دارد customers.txt فایلی که با ‘ شروع می شودآر“و”م‘، و با ‘ ختم شودک‘. بنابراین خط سوم و ششم فایل در خروجی چاپ شده است.
مطابقت با جایگزین:
“grepدستور ” از چندین الگو پشتیبانی می کند. عملیات تناوب یا OR (|) در الگوی ” استفاده می شود.grepدستور برای تعریف الگوهای متعدد. مطابقت های ممکن مختلف را می توان با استفاده از تناوب که مانند عملگر منطقی OR کار می کند در الگو تعریف کرد. استفاده از تناوب در “grepالگوی جستجوی رشته مشخص شده در فایل customers.txt در این مثال ارائه شده است.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
به شرح زیر “grepدستور ” رشته را جستجو می کند ”ریا‘ یا ‘منهازدر فایل customers.txt. در اینجا، بک اسلش(\) با لوله (|) برای انجام وظیفه یک متناوب استفاده شده است. خطوط فایل مطابق با الگو چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. رشته،’ریا“در خط سوم فایل وجود دارد و رشته، “منهاز‘ در خط چهارم فایل وجود دارد. این خطوط در خروجی چاپ شده است.
مطابقت با مراجع برگشتی:
راه به خاطر سپردن تطابق قبلی هر الگوی به عقب ارجاع نامیده می شود. “grepدستور ” از ویژگی های مراجع پشتیبان پشتیبانی می کند. می توان آن را با محصور کردن بخشی از الگو با استفاده از پرانتز و استفاده از \1 برای مرجع اول، \2 برای مرجع دوم و غیره ایجاد کرد. روی. استفاده از مرجع برگشتی در “grepدستور ” در این مثال برای فایل customers.txt ارائه شده است.
دستور زیر محتوای فایل customers.txt را نمایش می دهد:
به شرح زیر “grepدستور ” هر رقمی از محدوده 0 تا 5 را در فایل customers.txt جستجو می کند. اگر مطابقت پیدا شود، مرجع را حفظ می کند و از مرجع پشتیبان برای مطابقت با قسمت باقیمانده فایل استفاده می کند. خط منطبق چاپ خواهد شد:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به خروجی، خط دوم فایل با ارقام مطابقت دارد، 11 به عنوان یک مرجع استفاده می شود. خط چهارم و پنجم فایل بر اساس مطابقت دارد روی مرجع برگشتی
ترکیب “grep” با دستور “ps” با استفاده از یک لوله:
چندین فرآیند را می توان به طور همزمان در سیستم عامل لینوکس اجرا کرد. فرم کامل “ps“فرمان است”process وضعیت‘. وظیفه اصلی این دستور بررسی وضعیت تمامی فرآیندهای در حال اجرا و نمایش اطلاعات مختلف در مورد فرآیندها می باشد. این دستور برای کارهای اداری بسیار مفید است. روش استفاده از “grep” فرمان روی خروجی “psدستور ” در این مثال نشان داده شده است.
دستور زیر اطلاعات تمامی فرآیندهای در حال اجرا را نمایش می دهد:
دستور زیر خطوطی را که با ‘ ختم می شوند جستجو می کند.bash” در خروجی “ps” فرمان اگر محتوای هر خط از “psخروجی با الگوی استفاده شده درgrepدستور “، سپس آن خط چاپ می شود:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. با توجه به خروجی، خط دوم خروجی “psدستور ” مطابق با الگوی ”grep” دستور داده شد و چاپ شد.
برای چاپ فیلدهای خاص، “grep” را با دستور “awk” ترکیب کنید:
“بیخیالدستور ” راه دیگری برای جستجوی محتوا در یک فایل است روی هر الگوی کارهای مختلف را می توان با استفاده از “بیخیالدستور ” زمانی که الگو با هر متن یا خط فایل مطابقت دارد، مانند الگوی تطبیق، خروجی قالب بندی، عملیات رشته و غیره. روش فرمت کردن خروجیgrepدستور ” با استفاده از ”بیخیالدستور ” در این مثال ارائه شده است.
دستور زیر محتوای آن را نمایش می دهد customers.txt فایل:
دستور زیر رشته را جستجو می کند،ابیردر فایل customers.txt و خروجی را به «بیخیالدستور ” که خروجی فرمت شده را از خط منطبق چاپ می کند:
خروجی:
خروجی زیر پس از اجرای دستورات قبلی ظاهر می شود terminal. کلمه ‘ابیردر خط دوم وجود دارد customers.txt فایل. بنابراین، مقدار ستون دوم و چهارم آن خط با ‘\ از هم جدا می شود.تی“، و با استفاده از “” با رشته های دیگر چاپ شده است.بیخیال” فرمان
نتیجه:
محتوای یک فایل یا چندین فایل را می توان به روش های مختلف در لینوکس با استفاده از ” جستجو کرد.grep” فرمان مدیر سیستم از این دستور برای انجام انواع مختلف وظایف اداری استفاده می کند. گزینه های زیادی برای انجام جستجو در یک فایل یا دایرکتوری به روش های مختلف دارد. متداول ترین الگوهای بیان منظم اولیه و توسعه یافته برای جستجوی محتوا در یک فایل در این آموزش مورد بحث قرار گرفته است. امیدوارم با تمرین 30 مثال grep نشان داده شده در اینجا و استفاده صحیح از این دستور، اهداف استفاده از این دستور برای کاربران لینوکس پاک شود.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 12:37:05