این دستور pcre2grep است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
pcre2grep - یک grep با عبارات منظم سازگار با Perl.
خلاصه
pcre2grep [گزینه ها] [طولانی گزینه ها] [الگو] [مسیر 1 مسیر 2 ...]
شرح
pcre2grep مانند سایر دستورات grep، فایل ها را برای الگوهای کاراکتر جستجو می کند
انجام می دهد، اما از کتابخانه بیان منظم PCRE2 برای پشتیبانی از الگوهایی که هستند استفاده می کند
سازگار با عبارات منظم Perl 5. ببینید pcre2syntax(3) برای سریع-
خلاصه مرجع نحو الگو، یا pcre2pattern(3) برای توضیح کامل
نحو و معنای عبارات منظم که PCRE2 پشتیبانی می کند.
الگوها، چه در خط فرمان ارائه شده باشند و چه در یک فایل جداگانه، بدون ارائه شده اند
تعیین کننده ها مثلا:
pcre2grep پنجشنبه /etc/motd
اگر میخواهید از جداکنندهها استفاده کنید (مثلاً با احاطه کردن یک الگو با اسلش، به عنوان
در اسکریپت های پرل رایج است)، آنها به عنوان بخشی از الگو تفسیر می شوند. نقل قول می تواند از
البته برای تحدید الگوها در خط فرمان استفاده می شود زیرا آنها توسط the تفسیر می شوند
پوسته، و در واقع اگر یک الگو حاوی فضای سفید یا پوسته باشد، نقل قول لازم است
متا شخصیت ها
اولین آرگومان که از تنظیمات گزینه پیروی می کند به عنوان الگوی واحد در نظر گرفته می شود
منطبق زمانی که هیچ کدام -e نه -f حاضر است. برعکس، زمانی که یکی یا هر دوی این گزینه ها
برای تعیین الگوها استفاده می شود، همه آرگومان ها به عنوان نام مسیر در نظر گرفته می شوند. حداقل یکی از -e,
-f، یا باید یک الگوی آرگومان ارائه شود.
اگر هیچ فایلی مشخص نشده باشد، pcre2grep ورودی استاندارد را می خواند. ورودی استاندارد نیز می تواند
با نامی متشکل از یک خط فاصله ارجاع داده شود. مثلا:
pcre2grep برخی از الگوهای فایل 1 - file3
فایل های ورودی خط به خط جستجو می شوند. به طور پیش فرض، هر خطی که با یک الگو مطابقت دارد، است
در خروجی استاندارد کپی می شود و اگر بیش از یک فایل وجود داشته باشد، نام فایل خروجی است
در ابتدای هر خط و به دنبال آن یک دو نقطه. با این حال، گزینه هایی وجود دارد که می توانند
نحوه تغییر pcre2grep رفتار می کند. به طور خاص، -M گزینه امکان جستجو برای
رشته هایی که از مرزهای خط می گذرند. آنچه مرز خط را مشخص می کند توسط -N
(--خط جدید) گزینه.
مقدار حافظه مورد استفاده برای بافر کردن فایل هایی که در حال اسکن هستند توسط a کنترل می شود
پارامتری که می تواند توسط - اندازه بافر گزینه. مقدار پیش فرض برای این
پارامتر زمانی مشخص می شود pcre2grep ساخته شده است، با پیش فرض پیش فرض 20K. آ
بلوک حافظه سه برابر این اندازه استفاده می شود (برای اجازه دادن به بافر "قبل" و "پس از"
خطوط). اگر خطی از بافر سرریز شود، خطا رخ می دهد.
الگوها نمی توانند بیشتر از 8K یا BUFSIZ بایت باشند، هر کدام که بیشتر باشد. BUFSIZ است
تعریف شده در . هنگامی که بیش از یک الگو وجود دارد (مشخص شده با استفاده از -e
و / یا -f)، هر الگو به ترتیبی که تعریف شده اند، به هر خط اعمال می شود.
جز اینکه همه -e الگوها قبل از -f الگوهای.
به طور پیش فرض، به محض اینکه یک الگو با یک خط منطبق شود، هیچ الگوی دیگری در نظر گرفته نمی شود.
اما اگر --رنگ (و یا --رنگ) برای رنگ آمیزی زیر رشته های منطبق یا if استفاده می شود --فقط-
مطابق, ---فایل آفست، یا --خطوط افست فقط برای خروجی بخشی از خط استفاده می شود
که مطابقت دارد (یا به معنای واقعی کلمه نشان داده شده است، یا به صورت افست)، اسکن بلافاصله از سر گرفته می شود
به دنبال مسابقه، به طوری که مسابقات بیشتر در همان خط را می توان یافت. اگر وجود دارد
الگوهای متعدد، همه آنها در بقیه خط امتحان می شوند، اما الگوهایی که
دنبال کنید که مطابقت دارد در قسمت قبلی خط امتحان نشده است.
این رفتار به این معنی است که ترتیبی که در آن الگوهای متعدد مشخص می شود می تواند تأثیر بگذارد
خروجی زمانی که یکی از گزینه های بالا استفاده می شود. این دیگر همان رفتار نیست
گنو grep، که اکنون میتواند مطابقتهای قبلی را برای الگوهای بعدی نمایش دهد (تا زمانی که
هیچ همپوشانی وجود ندارد).
الگوهایی که می توانند با یک رشته خالی مطابقت داشته باشند پذیرفته می شوند، اما مطابقت های رشته خالی هرگز پذیرفته نمی شوند
شناسایی شده. یک مثال الگوی "(super)?(man)?" است که همه اجزا در آن قرار دارند
اختیاری. این الگو همه موارد «فوق العاده» و «مرد» را پیدا می کند. خروجی متفاوت است
از تطبیق با "super|man" زمانی که فقط زیر رشته های منطبق نشان داده می شوند.
اگر LC_ALL or LC_CTYPE متغیر محیطی تنظیم شده است، pcre2grep از مقدار برای تنظیم a استفاده می کند
محلی هنگام فراخوانی کتابخانه PCRE2. در --محلی می توان از گزینه برای نادیده گرفتن آن استفاده کرد.
پشتیبانی برای فشرده شده فایل ها
امکان کامپایل وجود دارد pcre2grep به طوری که استفاده می کند لیز or libbz2 برای خواندن فایل هایی که
نام ها به پایان می رسند .gz or bz2، به ترتیب. می توانید بفهمید که آیا باینری شما پشتیبانی دارد یا خیر
برای یک یا هر دو نوع فایل با اجرای آن با --کمک گزینه. اگر
پشتیبانی مناسب وجود ندارد، فایل ها به عنوان متن ساده در نظر گرفته می شوند. ورودی استاندارد است
همیشه اینطور رفتار می شود
دودویی فایل ها
بهطور پیشفرض، فایلی که حاوی یک بایت صفر باینری در 1024 بایت اول است
به عنوان یک فایل باینری شناسایی می شود و به طور ویژه پردازش می شود. (GNU grep همچنین باینری را شناسایی می کند
فایل ها را به این ترتیب.) مشاهده کنید ---فایل های باینری گزینه ای برای تغییر راه
فایل های باینری مدیریت می شوند.
OPTIONS
ترتیب ظاهر شدن برخی از گزینه ها می تواند بر خروجی تأثیر بگذارد. به عنوان مثال، هر دو
-h و -l گزینه ها بر چاپ نام فایل ها تأثیر می گذارند. هر کدام که بعداً در دستور بیاید
خطی خواهد بود که اثر می گذارد. به طور مشابه، به جز مواردی که در زیر ذکر شده است، در صورت وجود گزینه
دو بار داده می شود، تنظیمات بعدی استفاده می شود. مقادیر عددی برای گزینه ها ممکن است دنبال شود
K یا M، برای نشان دادن ضرب در 1024 یا 1024*1024 به ترتیب.
-- این لیست گزینه ها را خاتمه می دهد. مفید است اگر مورد بعدی در
خط فرمان با خط فاصله شروع می شود اما یک گزینه نیست. این اجازه می دهد تا برای
پردازش الگوها و نام فایل ها که با خط تیره شروع می شود.
-A عدد, --after-context=عدد
تولید عدد خطوط زمینه پس از هر خط منطبق. اگر نام فایل و/یا
اعداد خط در حال خروجی هستند، جداکننده خط فاصله به جای دو نقطه برای استفاده می شود
خطوط زمینه یک خط حاوی "--" بین هر گروه از خطوط خروجی است.
مگر اینکه در واقع در فایل ورودی به هم پیوسته باشند. ارزش عدد is
انتظار می رود نسبتا کوچک باشد. با این حال، pcre2grep تا 8K را تضمین می کند
متن زیر برای خروجی زمینه موجود است.
-a, --متن
فایل های باینری را به عنوان متن در نظر بگیرید. این معادل است ---فایل های باینری=متن.
-B عدد, --before-context=عدد
تولید عدد خطوط زمینه قبل از هر خط منطبق. اگر نام فایل و/یا
اعداد خط در حال خروجی هستند، جداکننده خط فاصله به جای دو نقطه برای استفاده می شود
خطوط زمینه یک خط حاوی "--" بین هر گروه از خطوط خروجی است.
مگر اینکه در واقع در فایل ورودی به هم پیوسته باشند. ارزش عدد is
انتظار می رود نسبتا کوچک باشد. با این حال، pcre2grep تا 8K را تضمین می کند
از متن قبلی موجود برای خروجی زمینه.
--binary-files=کلمه
نحوه پردازش فایل های باینری را مشخص کنید. اگر کلمه "دودویی" باشد (the
پیش فرض)، تطبیق الگو بر روی فایل های باینری انجام می شود، اما تنها خروجی آن است
"فایل باینری منطبق است" هنگامی که یک مسابقه موفق شد. اگر کلمه "متن" باشد، که
معادل است -a or --متن گزینه، فایل های باینری در همان پردازش می شوند
راه مانند هر فایل دیگری در این مورد، زمانی که یک مسابقه موفق می شود، خروجی ممکن است باشد
زباله های باینری که در صورت ارسال به ترمینال می توانند اثرات بدی داشته باشند. اگر کلمه
"بدون تطابق" است، که معادل است -I گزینه، فایل های باینری نیستند
اصلا پردازش شده فرض بر این است که آنها مورد علاقه نیستند و بدون آنها حذف می شوند
ایجاد هرگونه خروجی یا تأثیر بر کد برگشتی.
--buffer-size=عدد
پارامتری را تنظیم کنید که میزان حافظه مورد استفاده برای بافر کردن فایلها را کنترل میکند
در حال اسکن هستند.
-C عدد, --context=عدد
تولید عدد خطوط زمینه قبل و بعد از هر خط منطبق. این
معادل تنظیم هر دو است -A و -B به همان مقدار
-c, --شمردن
از فایل هایی که اسکن می شوند خطوط خروجی نگیرید. در عوض خروجی
تعداد مسابقات (یا غیر منطبق اگر -v استفاده می شود) که در غیر این صورت وجود داشت
باعث شد خطوط نشان داده شود. به طور پیش فرض، این تعداد همان تعداد است
خطوط سرکوب شده، اما اگر -M گزینه (چند خطی) استفاده می شود (بدون -v)، آنجا
ممکن است خطوط سرکوب شده بیشتر از تعداد مسابقات باشد.
اگر هیچ خطی انتخاب نشود، عدد صفر خروجی می شود. اگر چندین فایل هستند
در حال اسکن کردن، برای هر یک از آنها تعداد خروجی داده می شود. با این حال، اگر --فایلها-با-
کبریت گزینه نیز استفاده می شود، فقط آن دسته از فایل هایی که تعداد آنها بیشتر از صفر باشد
فهرست شده اند. چه زمانی -c استفاده می شود ، -A, -Bو -C گزینه ها نادیده گرفته می شوند
--رنگ, --رنگ
اگر این گزینه بدون داده داده شود، معادل "--colour=auto" است.
اگر داده مورد نیاز است، باید در همان مورد پوسته داده شود که با علامت یک جدا شده است
علامت مساوی
--رنگ=ارزش, --رنگ=ارزش
این گزینه مشخص می کند که در چه شرایطی قسمت های یک خط مطابقت دارند
یک الگو باید در خروجی رنگی شود. به طور پیش فرض، خروجی نیست
رنگی مقدار (که اختیاری است، در بالا ببینید) ممکن است "هرگز"، "همیشه" یا
"خودکار". در مورد دوم، رنگ آمیزی تنها در صورتی اتفاق می افتد که خروجی استاندارد باشد
به یک ترمینال متصل است. وقتی رنگ آمیزی فعال است از منابع بیشتری استفاده می شود،
زیرا pcre2grep باید تمام موارد ممکن را در یک خط جستجو کند، نه فقط
یکی، به منظور رنگ آمیزی همه آنها.
رنگ مورد استفاده را می توان با تنظیم متغیر محیطی مشخص کرد
PCRE2GREP_COLOUR یا PCRE2GREP_COLOR. مقدار این متغیر باید a باشد
رشته ای از دو عدد که با نقطه ویرگول از هم جدا شده اند. آنها به طور مستقیم در کپی می شوند
رشته کنترل برای تنظیم رنگ در ترمینال، پس این شماست
مسئولیت اطمینان از منطقی بودن آنها. اگر هیچ یک از محیط
متغیرها تنظیم شده است، پیش فرض "1;31" است که قرمز می دهد.
-D اقدام, --دستگاه ها=اقدام
اگر یک مسیر ورودی یک فایل معمولی یا یک دایرکتوری نباشد، "action" نحوه آن را مشخص می کند
قرار است پردازش شود. مقادیر معتبر «خواندن» (پیشفرض) یا «پرش» (بیصدا) هستند
از مسیر بگذر).
-d اقدام, --دایرکتوری ها=اقدام
اگر یک مسیر ورودی یک دایرکتوری باشد، "action" نحوه پردازش آن را مشخص می کند.
مقادیر معتبر "خوانده شده" هستند (پیشفرض در محیطهای غیر ویندوز، برای
سازگاری با GNU grep)، "recurse" (معادل با -r گزینه)، یا "پرش"
(بیصدا از مسیر، پیشفرض در محیطهای ویندوز رد شوید). در "خواندن"
در مورد، دایرکتوری ها به گونه ای خوانده می شوند که گویی فایل های معمولی هستند. در برخی از عملیات
سیستم ها اثر خواندن دایرکتوری مانند این یک پایان فوری فایل است.
در برخی دیگر ممکن است باعث خطا شود.
-e الگو, --regex=الگو, --regexp=الگو
الگویی را برای مطابقت مشخص کنید. این گزینه را می توان چندین بار به ترتیب استفاده کرد
برای مشخص کردن چندین الگو همچنین می توان از آن به عنوان راهی برای تعیین تک استفاده کرد
الگویی که با خط فاصله شروع می شود. چه زمانی -e استفاده می شود، هیچ الگوی آرگومانی گرفته نمی شود
از خط فرمان؛ همه آرگومان ها به عنوان نام فایل در نظر گرفته می شوند. وجود ندارد
محدود به تعداد الگوها آنها به ترتیب در هر خط اعمال می شوند
که آنها تعریف می شوند تا زمانی که یک مطابقت داشته باشد.
If -f با استفاده می شود -e، ابتدا الگوهای خط فرمان مطابقت داده می شوند و به دنبال آن
الگوهای فایل(ها)، مستقل از ترتیب این گزینه ها
مشخص شده اند. توجه داشته باشید که استفاده چندگانه از -e شبیه یک الگوی واحد نیست
با جایگزین به عنوان مثال، X|Y اولین کاراکتر را در یک خط پیدا می کند
X یا Y، در حالی که اگر دو الگو به طور جداگانه داده شوند، ابتدا X،
pcre2grep X را در صورت وجود پیدا می کند، حتی اگر از Y در خط پیروی کند. Y را پیدا می کند
فقط اگر X در خط وجود نداشته باشد. این فقط در صورت استفاده اهمیت دارد -o or
--colo(u)r برای نشان دادن قسمت(های) خطی که مطابقت دارند.
-- استثناء کردن=الگو
فایلهایی (اما نه دایرکتوریها) که نامهایشان با الگو مطابقت دارد بدون حذف میشوند
در حال پردازش. این برای همه فایلها، چه در خط فرمان فهرست شده باشد، اعمال میشود.
به دست آمده از ---فایل لیست، یا با اسکن یک دایرکتوری. الگوی PCRE2 است
عبارت منظم، و با مولفه نهایی نام فایل مطابقت دارد،
نه کل مسیر در -F, -wو -x گزینه ها برای این الگو اعمال نمی شوند.
این گزینه ممکن است هر تعداد بار داده شود تا چندین مورد را مشخص کنید
الگوها اگر نام فایل با هر دو مطابقت داشته باشد --عبارتند از و -- استثناء کردن الگو، آن
مستثنی شده است. هیچ فرم کوتاهی برای این گزینه وجود ندارد.
--exclude-from=نام فایل
هر خط غیر خالی از فایل را به عنوان داده برای یک در نظر بگیرید -- استثناء کردن گزینه. چی
هنگامی که خواندن فایل پیش فرض سیستم عامل است، یک خط جدید تشکیل می دهد.
La --خط جدید گزینه تاثیری روی این گزینه ندارد. این گزینه ممکن است بیشتر داده شود
بیش از یک بار به منظور تعیین تعدادی فایل برای خواندن.
-- استثناء- کارگردان=الگو
دایرکتوری هایی که نام آنها با الگو مطابقت دارد بدون پردازش نادیده گرفته می شوند.
هر تنظیماتی که باشد - بازگشتی گزینه. این برای همه دایرکتوری ها صدق می کند،
آیا در خط فرمان ذکر شده است، به دست آمده از ---فایل لیست، یا با اسکن a
دایرکتوری والد این الگو یک عبارت منظم PCRE2 است و مطابقت دارد
در برابر مولفه نهایی نام دایرکتوری، نه کل مسیر. را -F,
-wو -x گزینه ها برای این الگو اعمال نمی شوند. این گزینه ممکن است هر کدام داده شود
چند بار به منظور تعیین بیش از یک الگو. اگر یک دایرکتوری
با هر دو مطابقت دارد -- شامل- کارگردان و -- استثناء- کارگردان، مستثنی شده است. کوتاه نیست
فرم برای این گزینه
-F, - رشته های ثابت
هر الگوی تطبیق داده را به عنوان لیستی از رشته های ثابت، تفکیک کنید
خطوط جدید، به جای یک عبارت منظم. چه چیزی یک خط جدید برای
این هدف توسط --خط جدید گزینه. -w (تطابق به عنوان یک کلمه) و
-x گزینه های (تطابق خط کامل) را می توان با استفاده کرد -F. آنها برای هر یک از آنها اعمال می شود
رشته های ثابت اگر هر یک از رشته های ثابت در آن یافت شود، یک خط انتخاب می شود
(موضوع -w or -x، در صورت وجود). این گزینه فقط برای الگوهایی اعمال می شود که
با محتویات فایل ها مطابقت دارند. در مورد الگوها صدق نمی کند
مشخص شده توسط هر یک از --عبارتند از or -- استثناء کردن گزینه.
-f نام فایل, --file=نام فایل
الگوها را از فایل، یکی در هر خط بخوانید و آنها را با هر خط از مطابقت دهید
ورودی آنچه در هنگام خواندن فایل یک خط جدید را تشکیل می دهد، عملیات است
پیش فرض سیستم را --خط جدید گزینه تاثیری روی این گزینه ندارد. دنباله دار
فضای سفید از هر خط حذف می شود و خطوط خالی نادیده گرفته می شوند. یک خالی
فایل حاوی هیچ الگوی نیست و بنابراین با چیزی مطابقت ندارد. نظرات را هم ببینید
در مورد الگوهای متعدد در مقابل یک الگوی واحد با گزینه های جایگزین در
شرح -e در بالا.
اگر این گزینه بیش از یک بار داده شود، تمام فایل های مشخص شده خوانده می شوند. یک داده
خط خروجی می شود اگر هر یک از الگوها با آن مطابقت داشته باشد. نام فایل را می توان به صورت "-" داد
برای مراجعه به ورودی استاندارد. چه زمانی -f استفاده می شود، الگوهای مشخص شده در
خط فرمان با استفاده از -e همچنین ممکن است وجود داشته باشد؛ آنها قبل از فایل تست می شوند
الگوها با این حال، هیچ الگوی دیگری از خط فرمان گرفته نشده است. همه
آرگومان ها به عنوان نام مسیرهایی که باید جستجو شوند در نظر گرفته می شوند.
---فایل لیست=نام فایل
فهرستی از فایلها و/یا دایرکتوریهایی را که قرار است از فایلهای داده شده اسکن شوند، بخوانید
فایل، یک در هر خط. فضای سفید انتهایی از هر خط حذف شده و خالی است
خطوط نادیده گرفته می شوند این مسیرها قبل از هر مسیری که در لیست ذکر شده است پردازش می شوند
خط فرمان. نام فایل را می توان به عنوان "-" برای اشاره به ورودی استاندارد داده شد.
If --فایل و ---فایل لیست هر دو به عنوان "-" مشخص می شوند، ابتدا الگوها خوانده می شوند.
این فقط زمانی مفید است که ورودی استاندارد یک ترمینال باشد، که از آن بیشتر است
خطوط (فهرست فایل ها) را می توان پس از علامت پایان فایل خواند. اگر این
گزینه بیش از یک بار داده می شود، تمام فایل های مشخص شده خوانده می شوند.
---فایل آفست
به جای نشان دادن خطوط یا بخش هایی از خطوط که مطابقت دارند، هر مسابقه را به عنوان یک نشان دهید
افست از ابتدای فایل و طول، که با کاما از هم جدا شده است. در این
حالت، هیچ زمینه ای نشان داده نمی شود. یعنی -A, -Bو -C گزینه ها نادیده گرفته می شوند اگر
بیش از یک مسابقه در یک خط وجود دارد که هر یک به طور جداگانه نشان داده شده است. این
گزینه متقابلاً منحصر به فرد است --خطوط افست و --فقط تطبیق.
-H, -- with-filename
هنگام جستجو، نام فایل را در ابتدای خطوط خروجی اجباری کنید
یک فایل واحد به طور پیش فرض، نام فایل در این مورد نشان داده نمی شود. برای
با خطوط تطبیق، نام فایل با دو نقطه دنبال می شود. برای خطوط زمینه، a
از جداکننده خط فاصله استفاده می شود. اگر یک شماره خط نیز در حال خروجی باشد، از آن پیروی می کند
نام فایل. وقتی که -M گزینه باعث می شود که یک الگو فقط با بیش از یک خط مطابقت داشته باشد
اولی با نام فایل قبل از آن است.
-h, -- بدون نام فایل
هنگام جستجوی چندین فایل، نام فایل های خروجی را سرکوب کنید. به طور پیش فرض، فایل
هنگامی که چندین فایل جستجو می شوند، نام ها نشان داده می شوند. برای تطبیق خطوط، فایل
پس از نام، علامت دو نقطه وجود دارد. برای خطوط زمینه، از جداکننده خط فاصله استفاده می شود. اگر
یک شماره خط نیز در حال خروجی است که از نام فایل پیروی می کند.
--کمک خروجی پیام راهنما، ارائه جزئیات مختصری از گزینه های فرمان و نوع فایل
پشتیبانی کنید و سپس خارج شوید. هر چیز دیگری در خط فرمان نادیده گرفته می شود.
-I فایل های باینری را نادیده بگیرید. این معادل است ---فایل های باینری=بدون مسابقه.
-i, --نادیده گرفتن مورد
در طول مقایسه، تمایزهای حروف بزرگ و کوچک را نادیده بگیرید.
--عبارتند از=الگو
در صورت وجود --عبارتند از الگوها مشخص شده اند، تنها فایل هایی که پردازش می شوند هستند
آنهایی که با یکی از الگوها مطابقت دارند (و با یک مطابقت ندارند -- استثناء کردن الگو).
این گزینه روی دایرکتوری ها تأثیر نمی گذارد، اما برای همه فایل ها، خواه
فهرست شده در خط فرمان، به دست آمده از ---فایل لیست، یا با اسکن a
فهرست راهنما. این الگو یک عبارت منظم PCRE2 است و با آن مطابقت دارد
جزء نهایی نام فایل، نه کل مسیر. در -F, -wو -x
گزینه ها برای این الگو اعمال نمی شوند. گزینه ممکن است به هر تعداد داده شود
بار. اگر نام فایل با هر دو مطابقت داشته باشد --عبارتند از و -- استثناء کردن الگو، آن است
مستثنی شده است. هیچ فرم کوتاهی برای این گزینه وجود ندارد.
--include-from=نام فایل
هر خط غیر خالی از فایل را به عنوان داده برای یک در نظر بگیرید --عبارتند از گزینه. چی
یک خط جدید برای این منظور پیش فرض سیستم عامل است. در
--خط جدید گزینه تاثیری روی این گزینه ندارد. این گزینه ممکن است داده شود
تعداد دفعات؛ تمام فایل ها خوانده می شوند
-- شامل- کارگردان=الگو
در صورت وجود -- شامل- کارگردان الگوها مشخص شده اند، تنها دایرکتوری هایی که هستند
پردازش شده آنهایی هستند که با یکی از الگوها مطابقت دارند (و با یک مطابقت ندارند
-- استثناء- کارگردان الگو). این امر برای همه دایرکتوری ها، خواه در فهرست فهرست شده باشد، اعمال می شود
خط فرمان، به دست آمده از ---فایل لیست، یا با اسکن دایرکتوری والد. در
الگو یک عبارت منظم PCRE2 است و با آخرین آن مطابقت دارد
جزء نام دایرکتوری، نه کل مسیر. در -F, -wو -x گزینه های
برای این الگو اعمال نمی شود. این گزینه ممکن است هر چند بار داده شود. اگر یک
دایرکتوری با هر دو مطابقت دارد -- شامل- کارگردان و -- استثناء- کارگردان، مستثنی شده است. وجود دارد
هیچ فرم کوتاهی برای این گزینه وجود ندارد.
-L, --فایلها-بدون مطابقت
به جای خروجی خطوط از فایل ها، فقط نام فایل ها را خروجی بگیرید
که حاوی هیچ خطی نیست که خروجی داشته باشد. نام هر فایل است
خروجی یک بار، در یک خط جداگانه.
-l, --فایلها-با-مطابقات
به جای خروجی خطوط از فایل ها، فقط نام فایل ها را خروجی بگیرید
حاوی خطوطی است که خروجی میشد. هر نام فایل یک بار، روشن خروجی می شود
یک خط جداگانه جستجو معمولاً به محض یافتن یک خط منطبق در آن متوقف می شود
یک فایل. با این حال، اگر -c گزینه (شمارش) نیز استفاده می شود، تطبیق در ادامه می یابد
به منظور به دست آوردن تعداد صحیح، و آن دسته از فایل هایی که حداقل یک تطابق دارند
همراه با تعداد آنها ذکر شده است. استفاده از این گزینه با -c راهی است از
از بین بردن لیست فایل های بدون تطابق.
--برچسب=نام
این گزینه نامی را برای ورودی استاندارد هنگام نام گذاری فایل ها ارائه می دهد
در حال خروجی هستند. اگر ارائه نشده باشد، از "(ورودی استاندارد)" استفاده می شود. کوتاه نیست
فرم برای این گزینه
---line-buffered
هنگامی که این گزینه داده می شود، ورودی خوانده می شود و خط به خط پردازش می شود
خروجی پس از هر نوشتن پاک می شود. به طور پیش فرض، ورودی در تکه های بزرگ خوانده می شود،
مگر pcre2grep می تواند تعیین کند که در حال خواندن از یک پایانه است (که است
در حال حاضر فقط در محیط های مشابه یونیکس امکان پذیر است). خروجی به ترمینال است
معمولاً به طور خودکار توسط سیستم عامل شستشو می شود. این گزینه می تواند باشد
زمانی مفید است که ورودی یا خروجی به یک لوله متصل است و شما نمی خواهید
pcre2grep برای بافر کردن حجم زیادی از داده ها با این حال، استفاده از آن تاثیر خواهد گذاشت
عملکرد، و -M گزینه (چند خطی) دیگر کار نمی کند.
--خطوط افست
به جای نشان دادن خطوط یا بخش هایی از خطوط که مطابقت دارند، هر مسابقه را به عنوان یک خط نشان دهید
عدد، افست از ابتدای خط، و طول. شماره خط است
با کولون خاتمه می یابد (مثلاً به -n گزینه)، و افست و طول
با کاما از هم جدا می شوند. در این حالت هیچ زمینه ای نشان داده نمی شود. یعنی -A,
-Bو -C گزینه ها نادیده گرفته می شوند اگر در یک خط بیش از یک مسابقه وجود داشته باشد، هر کدام
از آنها به طور جداگانه نشان داده شده است. این گزینه متقابلاً منحصر به فرد است --فایل-
جبران و --فقط تطبیق.
--محلی=نام محلی
این گزینه محلی را برای تطبیق الگو مشخص می کند. آن را نادیده می گیرد
ارزش در LC_ALL or LC_CTYPE متغیرهای محیطی. اگر محلی وجود ندارد
مشخص شده، از پیشفرض کتابخانه PCRE2 (معمولاً محلی «C») استفاده میشود. آنجا
فرم کوتاهی برای این گزینه نیست.
--تطابق-حد=عدد
پردازش برخی از الگوهای بیان منظم می تواند به مقدار بسیار زیادی نیاز داشته باشد
حافظه، در برخی موارد منجر به خرابی برنامه در صورت عدم دسترسی کافی می شود.
سایر الگوها ممکن است برای جستجوی همه تطابقات ممکن زمان زیادی ببرد
رشته های. در pcre2_match () تابعی که توسط آن فراخوانی می شود pcre2grep برای انجام
تطبیق دو پارامتر دارد که می تواند منابعی را که استفاده می کند محدود کند.
La --تطابق-حد گزینه ابزاری برای محدود کردن استفاده از منابع فراهم می کند
الگوهای پردازشی که قرار نیست مطابقت داشته باشند، اما بسیار بزرگ هستند
تعداد احتمالات در درختان جستجوی آنها نمونه کلاسیک یک الگو است
که از تکرارهای نامحدود تو در تو استفاده می کند. در داخل، PCRE2 از تابعی به نام استفاده می کند
همخوانی داشتن() که آن را به طور مکرر (گاهی به صورت بازگشتی) فرا می خواند. حد تعیین شده توسط
--تطابق-حد بر تعداد دفعاتی که این تابع در طول a فراخوانی می شود تحمیل می شود
مسابقه، که تأثیر آن بر محدود کردن مقدار پسرفتی است که ممکن است انجام شود
به جای آن.
La ---recursion-limit گزینه مشابه است --تطابق-حد، اما به جای
محدود کردن تعداد کل دفعات آن همخوانی داشتن() نامیده می شود، عمق را محدود می کند
تماس های بازگشتی، که به نوبه خود میزان حافظه قابل استفاده را محدود می کند.
عمق بازگشت تعداد کمتری از تعداد کل تماس ها است، زیرا
همه تماس ها به همخوانی داشتن() بازگشتی هستند. این محدودیت فقط در صورتی قابل استفاده است که تنظیم شده باشد
کوچکتر از --تطابق-حد.
هیچ فرم کوتاهی برای این گزینه ها وجود ندارد. تنظیمات پیش فرض مشخص شده است
هنگامی که کتابخانه PCRE2 کامپایل می شود، پیش فرض پیش فرض 10 میلیون است.
-M, --چند خطی
اجازه دهید الگوها با بیش از یک خط مطابقت داشته باشند. وقتی این گزینه داده می شود، الگوها
ممکن است به طور مفید شامل کاراکترهای خط جدید تحت اللفظی و رخدادهای داخلی ^ باشد
و کاراکترهای $. خروجی یک مسابقه موفق ممکن است شامل بیش از یک باشد
خط اولین خطی است که مسابقه در آن شروع شد و آخرین آن خط است
که در آن مسابقه به پایان رسید. اگر رشته منطبق با یک دنباله خط جدید به پایان می رسد
خروجی در انتهای آن خط به پایان می رسد.
هنگامی که این گزینه تنظیم شود، کتابخانه PCRE2 در حالت "چند خطی" فراخوانی می شود.
با این حال، pcre2grep هنوز خط به خط ورودی را پردازش می کند. تفاوت این است
که یک رشته منطبق ممکن است از انتهای یک خط امتداد یابد و در یک یا ادامه یابد
خطوط بعدی بیشتر دنباله خط جدید باید به عنوان بخشی از مطابقت داده شود
الگو. به عنوان مثال برای یافتن عبارت "Regular expression" در فایلی که در آن
"منظم" ممکن است در انتهای یک خط و "بیان" در ابتدای خط باشد
خط بعدی، می توانید از این دستور استفاده کنید:
pcre2grep -M 'Regular\s+expression'
دنباله فرار \s با هر کاراکتر فضای سفید از جمله خطوط جدید مطابقت دارد.
و با + دنبال می شود تا با فضای سفید انتهایی در خط اول مطابقت داشته باشد
همچنین احتمالاً یک دنباله خط جدید دو کاراکتری را مدیریت می کند.
به هر حال محدودیتی برای تعداد خطوطی که می توان مطابقت داد وجود دارد
که pcre2grep فایل ورودی را هنگام اسکن آن بافر می کند. با این حال، pcre2grep تضمین می کند
حداقل 8K کاراکتر یا بقیه فایل (هر کدام کوتاهتر است)
برای تطبیق رو به جلو و به طور مشابه کاراکترهای 8K قبلی (یا
همه کاراکترهای قبلی، اگر کمتر از 8K باشد) تضمین شده است که در دسترس هستند
برای نگاه کردن به اظهارات در -M هنگامی که ورودی خط خوانده می شود، گزینه کار نمی کند
با خط (نگاه کنید به ---line-buffered.)
-N نوع جدید, --خط جدید=نوع جدید
کتابخانه PCRE2 از پنج قرارداد مختلف برای نشان دادن انتهای آن پشتیبانی می کند
خطوط آنها دنباله های تک کاراکتری CR (بازگشت حمل) و LF هستند
(linefeed)، دنباله دو کاراکتری CRLF، یک قرارداد "anycrlf"، که
هر یک از سه نوع قبلی را به رسمیت می شناسد، و یک قرارداد "هر" که در آن
هر دنباله پایان خط یونیکد برای پایان دادن به یک خط فرض می شود. دنباله های یونیکد
سه مورد ذکر شده، به علاوه VT (برگه عمودی، U+000B)، FF (فید فرم،
U+000C)، NEL (خط بعدی، U+0085)، LS (جداکننده خط، U+2028) و PS (بند)
جداکننده، U+2029).
هنگامی که کتابخانه PCRE2 ساخته می شود، یک دنباله پایان خط پیش فرض مشخص می شود.
این معمولاً توالی استاندارد برای سیستم عامل است. مگر اینکه
در غیر این صورت توسط این گزینه مشخص شده است، pcre2grep از پیش فرض کتابخانه استفاده می کند. در
مقادیر ممکن برای این گزینه CR، LF، CRLF، ANYCRLF یا ANY هستند. این باعث می شود
امکان استفاده pcre2grep برای اسکن فایل هایی که از محیط های دیگر آمده اند
بدون نیاز به تغییر انتهای خطوط آنها. اگر داده هایی که در حال اسکن هستند
با کنوانسیون تعیین شده توسط این گزینه موافق نیست، pcre2grep ممکن است رفتار کند
راه های عجیب و غریب توجه داشته باشید که این گزینه برای فایل های مشخص شده توسط -f,
-- استثناء-از، یا --شامل-از گزینه هایی که انتظار می رود از آن استفاده کنند
دنباله خط جدید استاندارد سیستم عامل.
-n, --شماره خط
قبل از هر خط خروجی، شماره خط آن در فایل، و به دنبال آن یک دونقطه برای
خطوط منطبق یا خط فاصله برای خطوط زمینه. اگر نام فایل نیز باشد
خروجی، قبل از شماره خط قرار دارد. وقتی که -M گزینه باعث ایجاد یک الگو می شود
با بیش از یک خط مطابقت داشته باشد، فقط شماره خط اول قبل از آن قرار می گیرد. این
گزینه اجباری است اگر --خطوط افست استفاده می شود.
-- بدون جیت اگر کتابخانه PCRE2 با پشتیبانی از کامپایل به موقع ساخته شده باشد (که
تطبیق را تسریع می کند) pcre2grep به طور خودکار از این استفاده می کند، مگر اینکه اینطور باشد
به صراحت در زمان ساخت غیرفعال شد. از این گزینه می توان برای غیرفعال کردن استفاده از
JIT در زمان اجرا برای تست و کار کردن مشکلات دور ارائه شده است. آی تی
هرگز نباید در استفاده معمولی مورد نیاز باشد.
-o, --فقط تطبیق
فقط بخشی از خط را نشان دهید که با یک الگو مطابقت دارد به جای کل خط.
در این حالت هیچ زمینه ای نشان داده نمی شود. یعنی -A, -Bو -C گزینه ها هستند
نادیده گرفته شده است. اگر بیش از یک مسابقه در یک خط وجود داشته باشد، هر یک از آنها نشان داده می شود
بصورت جداگانه. اگر -o همراه با -v (برای یافتن حس تطابق را معکوس کنید
خطوط غیر منطبق)، هیچ خروجی تولید نمی شود، اما کد بازگشتی تنظیم شده است
مناسب اگر قسمت منطبق شده از خط خالی باشد، هیچ چیزی خروجی نمی شود
مگر اینکه نام فایل یا شماره خط در حال چاپ باشد که در این صورت هستند
در یک خط خالی نشان داده شده است. این گزینه متقابلاً منحصر به فرد است --فایل-
جبران و --خطوط افست.
-oعدد, --فقط تطبیق=عدد
فقط بخشی از خط را نشان دهید که با پرانتزهای تصویر مطابقت دارد
شماره داده شده تا 32 پرانتز گرفتن پشتیبانی می شود و -o0 پشتیبانی می شود
معادل -o بدون شماره زیرا این گزینه ها را می توان بدون ارائه داد
آرگومان (به بالا مراجعه کنید)، اگر آرگومان موجود باشد، باید در همان آرگومان آورده شود
مورد پوسته، به عنوان مثال، -o3 یا --only-matching=2. نظرات داده شده برای
مورد غیر استدلالی بالا در مورد این مورد نیز صدق می کند. اگر گرفتن مشخص شده است
پرانتز در الگو وجود ندارد، یا در مسابقه تنظیم نشده است، هیچ چیز
خروجی است مگر اینکه نام فایل یا شماره خط در حال خروجی باشد.
اگر این گزینه چندین بار داده شود، چندین زیررشته در خروجی داده می شود
دستور گزینه ها داده شده است. به عنوان مثال، -o3 -o1 -o3 باعث ایجاد زیررشته ها می شود
با گرفتن پرانتز 3 و 1 و سپس دوباره 3 برای خروجی مطابقت داده می شود. توسط
به طور پیش فرض، جداکننده وجود ندارد (اما گزینه بعدی را ببینید).
--om-جداکننده=متن
یک رشته جداکننده را برای چندین رخداد مشخص کنید -o. پیش فرض یک است
رشته خالی رشته های جداکننده هرگز رنگی نمی شوند.
-q, --ساکت
بی سر و صدا کار کنید، یعنی چیزی جز پیام های خطا نمایش داده نشود. وضعیت خروج
نشان می دهد که آیا هیچ منطبقی پیدا شده است یا خیر.
-r, - بازگشتی
اگر هر مسیر مشخصی یک فهرست است، فایلهای موجود در آن را به صورت بازگشتی اسکن کنید
یادداشت هر کدام --عبارتند از و -- استثناء کردن تنظیمات. به طور پیش فرض، یک فهرست به صورت خوانده می شود
یک فایل معمولی؛ در برخی از سیستم عامل ها، این یک پایان فوری فایل را نشان می دهد.
این گزینه مختصری برای تنظیم است -d گزینه "recurse".
---recursion-limit=عدد
دیدن --تطابق-حد در بالا.
-s, --هیچ پیامی وجود ندارد
پیام های خطا در مورد فایل های موجود یا ناخوانا را سرکوب کنید. چنین فایل هایی هستند
بی سر و صدا پرش شد با این حال، کد بازگشتی همچنان 2 است، حتی اگر موارد منطبق پیدا شود
در فایل های دیگر
-u, --utf-8
در حالت UTF-8 کار کنید. این گزینه فقط در صورتی موجود است که PCRE2 کامپایل شده باشد
با پشتیبانی از UTF-8 همه الگوها (از جمله آنهایی که برای هر کدام -- استثناء کردن و
--عبارتند از گزینه ها) و تمام خطوط موضوعی که اسکن می شوند باید رشته های معتبر باشند
از کاراکترهای UTF-8
-V, - نسخه
شماره نسخه را بنویسید pcre2grep و کتابخانه PCRE2 به استاندارد
خروجی و سپس خروج. هر چیز دیگری در خط فرمان نادیده گرفته می شود.
-v, --مطابقت معکوس
معکوس حس تطابق، به طوری که خطوط که انجام می دهند نه مطابقت با هر یک از
الگوها آنهایی هستند که پیدا می شوند.
-w, --word-regex, --word-regexp
الگوها را مجبور کنید فقط با کل کلمات مطابقت داشته باشند. این معادل داشتن \b در است
شروع و پایان الگو این گزینه فقط برای الگوهایی اعمال می شود که
با محتویات فایل ها مطابقت دارند. در مورد الگوها صدق نمی کند
مشخص شده توسط هر یک از --عبارتند از or -- استثناء کردن گزینه.
-x, --line-regex, --line-regexp
الگوها را مجبور به لنگر انداختن کنید (هر کدام باید از ابتدای شروع به تطبیق شوند
یک خط) و علاوه بر این، از آنها بخواهید تا کل خطوط را مطابقت دهند. این معادل است
داشتن کاراکترهای ^ و $ در ابتدا و انتهای هر سطح بالای جایگزین
شاخه در هر الگو این گزینه فقط برای الگوهایی که هستند اعمال می شود
مطابق با محتویات فایل ها؛ برای الگوهای مشخص شده اعمال نمی شود
توسط هر یک از --عبارتند از or -- استثناء کردن گزینه.
محیط زیست متغیرها
متغیرهای محیطی LC_ALL و LC_CTYPE به ترتیب، برای یک منطقه بررسی می شوند.
اولین موردی که تنظیم می شود استفاده می شود. این می تواند توسط --محلی گزینه. اگر نه
محلی تنظیم شده است، پیش فرض کتابخانه PCRE2 (معمولاً محلی "C") استفاده می شود.
اخبار
La -N (--خط جدید) گزینه اجازه می دهد pcre2grep برای اسکن فایل ها با خط جدید مختلف
قراردادها از پیش فرض هر قسمت از فایل های ورودی که در آن نوشته می شود
خروجی استاندارد به طور یکسان، با هر توالی خط جدیدی که در آن وجود دارد، کپی می شود
ورودی با این حال، تنظیم این گزینه تاثیری بر تفسیر فایل ها ندارد
مشخص شده توسط -f, -- استثناء-از، یا --شامل-از گزینه هایی که فرض می شود از آنها استفاده می شود
دنباله خط جدید استاندارد سیستم عامل، و همچنین بر روشی که در آن تأثیری ندارد
pcre2grep پیام های اطلاعاتی را روی جریان های خطا و خروجی استاندارد می نویسد. برای
اینها از رشته "\n" برای نشان دادن خطوط جدید با تکیه بر کتابخانه CI/O استفاده می کند
این را به یک دنباله مناسب تبدیل کنید.
OPTIONS COMPATIBILITY
بسیاری از اشکال کوتاه و بلند pcre2grepگزینه های 's مانند گنو هستند grep استفاده
برنامه هر گزینه طولانی از فرم --xxx-regexp (اصطلاحات گنو) نیز به عنوان موجود است
-xxx-regex (اصطلاحات PCRE2). با این حال ---فایل لیست, ---فایل آفست, -- شامل- کارگردان,
--خطوط افست, --محلی, --تطابق-حد, -M, --چند خطی, -N, --خط جدید, --om-جداکننده,
---recursion-limit, -uو --utf-8 گزینه های خاص هستند pcre2grep، همانطور که استفاده از
--فقط تطبیق گزینه با یک عدد پرانتز گرفتن.
اگرچه اکثر گزینه های رایج به یک شکل کار می کنند، اما تعداد کمی از آنها متفاوت هستند pcre2grep.
به عنوان مثال --عبارتند از آرگومان گزینه یک glob برای گنو است grep استفاده، اما معمولی
بیان برای pcre2grep. اگر هر دو -c و -l گزینه ها داده شده است، فقط لیست های grep گنو
نام فایل ها، بدون شمارش، اما pcre2grep شمارش را نیز می دهد.
OPTIONS با داده ها
چهار روش مختلف وجود دارد که از طریق آنها می توان یک گزینه با داده را مشخص کرد. اگر کوتاه
از گزینه form استفاده می شود، داده ها ممکن است فوراً دنبال شوند یا (به استثنای یک استثنا) در بعدی
مورد خط فرمان مثلا:
-f/some/file
-f /some/file
استثناء است -o گزینه ای که ممکن است با داده یا بدون داده ظاهر شود. به خاطر همین،
اگر داده وجود داشته باشد، باید فوراً در همان مورد دنبال شود، برای مثال -o3.
اگر از گزینه فرم طولانی استفاده شود، داده ها ممکن است در همان آیتم خط فرمان ظاهر شوند.
با یک کاراکتر مساوی از هم جدا می شود، یا (با دو استثنا) ممکن است در بعدی ظاهر شود
مورد خط فرمان مثلا:
--file=/some/file
--file /some/file
با این حال، توجه داشته باشید که اگر می خواهید نام فایلی که با ~ شروع می شود را به عنوان داده در پوسته ارائه دهید
دستور دهید، و پوسته را به دایرکتوری اصلی گسترش دهید، باید نام فایل را جدا کنید
از گزینه، زیرا پوسته ~ را به طور خاص درمان نمی کند مگر اینکه در ابتدای آن باشد
یک آیتم.
استثناء موارد فوق عبارتند از --رنگ (و یا --رنگ) و --فقط تطبیق گزینه ها، برای
که داده ها اختیاری است. اگر یکی از این گزینه ها دارای داده باشد، باید داده شود
شکل اول، با استفاده از یک کاراکتر برابر. در غیر این صورت pcre2grep فرض خواهد شد که ندارد
داده است.
تطابق خطاها
امکان ارائه یک عبارت منظم وجود دارد که زمان زیادی طول می کشد تا مطابقت نداشته باشد
خطوط خاص چنین الگوهایی معمولاً شامل تکرارهای نامعین تو در تو هستند، برای مثال:
(a+)*\d وقتی با یک خط a بدون رقم نهایی مطابقت داده شود. تطبیق PCRE2
تابع دارای محدودیت منابع است که باعث می شود در این شرایط آن را متوقف کند. اگر این
اتفاق می افتد ، pcre2grep یک پیام خطا و خطی که باعث ایجاد مشکل شده است را به خروجی می دهد
جریان خطای استاندارد اگر بیش از 20 خطا وجود داشته باشد، pcre2grep تسلیم شد.
La --تطابق-حد گزینه ای از pcre2grep می توان برای تنظیم محدودیت کلی منابع استفاده کرد. آنجا
یک گزینه دوم به نام است ---recursion-limit که محدودیتی در میزان حافظه تعیین می کند
(معمولاً پشته) که استفاده می شود (به بحث در مورد این گزینه ها در بالا مراجعه کنید).
عیب یابی
در صورت یافتن موارد منطبق، وضعیت خروج 0، اگر مطابقت پیدا نشد، 1، و برای نحو، 2 است.
خطاها، خطوط بیش از حد طولانی، فایلهای موجود یا غیرقابل دسترس (حتی اگر موارد مشابه در
فایل های دیگر) یا خطاهای تطبیق بیش از حد. با استفاده از -s گزینه ای برای سرکوب پیام های خطا
در مورد فایلهای غیرقابل دسترسی روی کد برگشتی تأثیری نمیگذارد.
با استفاده از خدمات onworks.net از pcre2grep به صورت آنلاین استفاده کنید