GREPC(1) دستورات کاربر GREPC(1)

grepc - یافتن اعلانات، تعاریف و کاربردهای شناسه در کدهای مبدأ

grepc [گزینه ...] الگو [فایل ...]

دستور grepc به جستجوی اعلانات (declarations)، تعاریف (definitions) و کاربردهای شناسهها و الگوهای مشخصشده در فایلهای مبدأ برنامهنویسی بر پایه عبارات باقاعده PCRE میپردازد.

دستور grepc(1) به جستجوی اعلانات، تعاریف یا کاربردهای الگو در هر فایل مبدأ می‌پردازد.

الگو یک الگوی PCRE است. این الگو معمولاً یک شناسه (identifier) را نشان می‌دهد و مرزهای کلمات (word boundaries) در بیشتر موارد به‌طور ضمنی به آن اضافه می‌شوند.

اگر هیچ فایل ی داده نشود، این برنامه از ورودی استاندارد می‌خواند. در غیر این صورت، تمامی فایل‌های مشخص‌شده را می‌خواند و در هر پوشه یا دایرکتوری مشخص‌شده، به‌صورت بازگشتی (recursively) و بدون دنبال کردن پیوندهای نمادین (symbolic links) به جستجو می‌پردازد.

چاپ n سطر از متن پس از تطابق (trailing context).
چاپ n سطر از متن پیش از تطابق (leading context).
چاپ n سطر از متن پیرامون تطابق (surrounding context).
موارد تطابق‌یافته چاپ نمی‌شوند؛ به‌جای آن تعداد آن‌ها چاپ می‌شود.
از قرار دادن پیشوند نام فایل در خروجی جلوگیری می‌کند.
نادیده گرفتن تمایز حروف کوچک و بزرگ در الگو.
خروجی عادی را متوقف می‌کند؛ به‌جای آن نام هر فایل ورودی که خروجی معمولاً از آن چاپ می‌شد را چاپ می‌کند. هر فایل فقط یک‌بار چاپ می‌شود.
توقف پردازش پس از یافتن n مورد تطابق.
پیشوند قرار دادن شماره سطر (شروع از ۱) درون فایل ورودی برای هر سطر از خروجی.
محدود کردن جستجو به یک نوع خاص از کد. این گزینه می‌تواند چندین بار مشخص شود تا انواع مختلفی از کد جستجو شوند. مقادیر پذیرفته‌شده به راه‌انداز (driver) مورد استفاده برای زبان بستگی دارد. ببینید: grepc_c(1)، که راه‌انداز پیش‌فرض است.

در برخی موارد، فراخوانی‌های داخلی به pcre2grep(1) ممکن است پس از مصرف بیش از حد منابع شکست بخورند. برای حل این مشکل، از گزینه -t برای محدود کردن نوع کد در جستجوی خود استفاده کنید.

فایل‌های مشخص‌شده در خط فرمان باید قابل پرش و پیمایش (seekable) بوده و امکان دو بار باز شدن را داشته باشند. اگر نیاز به خواندن فایلی بدون قابلیت seek دارید، آن را به ورودی استاندارد تغییر مسیر دهید.

alx@devuan:/usr/lib/gcc$ grepc -n alignof .;
./x86_64-linux-gnu/15/include/stdalign.h:33:#define alignof _Alignof

grepc_c(1), pcre2grep(1), pcre2syntax(3), pcre2pattern(3)

نوامبر ۲۰۲۵ Linux man-pages