درسنامه ۲-۷: جستوجو در متن با grep
grep خطوط شامل الگو (pattern) را پیدا میکند.
مثالهای پایه
grep "ERROR" app.log # جستوجوی ساده
grep -n "TODO" src/*.py # با شمارهٔ خط
grep -i "linux" notes.txt # بدون حساسیت به حروف
grep -r "config" /etc # بازگشتی در دایرکتوری
الگوهای پیشرفته
grep -E "^WARN|^ERROR" app.log # چند الگو با regex
grep -v "DEBUG" app.log # نمایش خطوطی که شامل DEBUG نیستند
تمرین کوتاه
- در یک پوشهٔ کدی، همهٔ TODOها را با شمارهٔ خط پیدا کنید.
- از خروجی
dmesgفقط هشدارها و خطاها را استخراج کنید.
نکات و مثالهای بیشتر
- جستوجو حساس/غیرحساس به حروف:
- نمایش فقط بخش تطابق (با
-o) و شمارش تعداد تطابقها (با-c):
- محدودکردن به تطابق کامل کلمه (word boundary):
- رنگیکردن خروجی برای خوانایی بهتر:
خطاهای رایج
- فراموش کردن نقلقول دور الگوهای حاوی کاراکترهای خاص شل.
- استفادهٔ نابهجا از
-rدر مسیرهای خیلی بزرگ (کندی زیاد)؛ ابتدا محدوده را کوچک کنید.