| grepc_c(1) | General Commands Manual | grepc_c(1) |
نام (NAME)
grepc_c - چاپ الگوهای PCRE برای جستجو در کد منبع زبان C
خلاصه دستور (SYNOPSIS)
grepc_c [option ...] pattern
توضیحات (DESCRIPTION)
grepc_c(1) یک درایور برای grepc(1) است. این ابزار الگوهای PCRE را چاپ میکند که grepc(1) از آنها برای جستجوی اعلانات، تعاریف و/یا موارد استفاده از pattern در کد منبع زبان C استفاده خواهد کرد.
pattern یک الگوی PCRE است. این مقدار معمولاً یک شناسهٔ C را نشان میدهد، و در بیشتر موارد مرزهای کلمه بهطور ضمنی به آن اضافه میشوند.
انواع کد (Types of code)
این برنامه میتواند الگوهای PCRE را برای چندین نوع کد تولید کند. آرگومانهای زیر را میتوان به گزینهٔ -t ارسال کرد تا انواع کدی که جستجو میشوند انتخاب شوند.
- e
- تعاریف ثابتهای شمارشی (enum).
- f
- پیشنمونهها و تعاریف توابع. این مورد را میتوان به موارد زیر تقسیم کرد:
- fp
- پیشنمونههای توابع.
- fd
- تعاریف توابع.
- fl
- فراخوانیهای سیستمی هستهٔ لینوکس. این مورد را میتوان به موارد زیر تقسیم کرد:
- fg
- نامهای داخلی glibc برای توابع libc. این مورد را میتوان به موارد زیر تقسیم کرد:
- m
- تعاریف ماکرو.
- t
- تعاریف انواع داده.
- u
- موارد استفاده. رخدادهای pattern را در شمارشها (enums)، بدنهٔ توابع، جایگزینیهای ماکرو و تعاریف انواع داده جستجو میکند، و کل تعاریف enum، تابع، ماکرو و/یا نوع داده را چاپ مینماید. در این حالت بهطور پیشفرض هیچ مرز کلمهای تنظیم نشده است؛ بنابراین اگر pattern برابر با open باشد، fopen نیز پیدا خواهد شد؛ این رفتار برای امکان جستجوی الگوهای حاوی هر دنبالهای از نویسهها است.
- این مورد را میتوان به موارد زیر تقسیم کرد:
گزینهها (OPTIONS)
- -t type
- محدود کردن جستجو به یک type (نوع) خاص از کد (بخش Types of code در DESCRIPTION را ببینید). این گزینه را میتوان چندین بار برای جستجوی انواع مختلف کد استفاده کرد. پیشفرض: e f m t.
مثالها (EXAMPLES)
alx@devuan:~$ grepc_c -tm alignof; (?s)^[ \t]*#\s*define\s[\s\\]*alignof\(.*?[^\\]$ (?s)^[ \t]*#\s*define\s[\s\\]*alignof\b(?!\().*?(?<!\\)$ alx@devuan:~$ cd /usr/lib/gcc/; alx@devuan:/usr/lib/gcc$ pcre2grep -rnMf <(grepc_c -tm alignof) .; ./x86_64-linux-gnu/15/include/stdalign.h:33:#define alignof _Alignof
همچنین ببینید (SEE ALSO)
| 2026-01-06 | Linux man-pages 6.19 |