یک اسکریپت بش بنویس که یک الگو (pattern) را از آرگومان ورودی بگیرد و با استفاده از grep به‌صورت بازگشتی در یک پوشه مشخص جستجو کند و برای هر نتیجه نام فایل، شمارهٔ خط و متن خط پیدا شده را نمایش دهد.

4.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:34

0.0

برای حل، از فرمان grep با گزینه‌های مناسب استفاده کنید؛ مثلاً grep -R -n -H "الگو" پوشه برای جستجوی بازگشتی، نمایش شمارهٔ خط و اسم فایل. اسکریپت باید آرگومان‌ها را بررسی کند (وجود الگو و پوشه)، از علامت نقل‌قول برای الگو استفاده کند تا کاراکترهای ویژه حفظ شوند و در صورت نیاز گزینه‌هایی مانند -i (حساسیت‌نداشتن به حروف) یا -E (regex گسترش‌یافته) را ارائه دهد. نکته‌ها: مسیر پوشه را با test -d بررسی کنید، الگو را در نقل‌قول قرار دهید تا shell آن را تفسیر نکند، و خروجی grep را مستقیم به ترمینال چاپ کنید یا برای پردازش بیشتر به سایر ابزارها منتقل نمایید.

توسط پژوهشگر در 221 روز قبل ساعت 01:34
دسته بندی ها: Bash Scripting Bash Scripting for beginner
reyhaneh در 221 روز قبل ساعت 12:49

نکته مفید: برای پذیرش الگو و پوشه به‌عنوان آرگومان، از نقل‌قول مناسب استفاده کنید تا کاراکترهای ویژه حفظ شوند و با بررسی وجود پوشه با test -d از خطاهای ناشی جلوگیری کنید. از grep -R -n -H برای جست‌وجی بازگشتی استفاده کنید تا نام فایل، شماره خط و متن خط نمایش داده شود و در صورت نیاز گزینه‌های -i یا -E را فعال کنید. الگو را در داخل نقل‌قول بگذارید تا shell آن را تفسیر نکند. خروجی grep می‌تواند مستقیم به ترمینال بیاید یا به ابزارهای دیگر مانند awk برای فرمت‌دهی بیشتر هدایت شود.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری