مُختبر نمط مُدخلات الشيل
مرشد
مُختبر نمط مُدخلات الشيل
اختبار نماذج الـ glob على قائمة من مسارات الملفات ورؤية الملفات التي تتطابق بدقة — في الوقت الحقيقي، مع المعاني الخاصة بـ Bash، Zsh، .gitignore، Python fnmatchو Go path.Match. اكتب نمطًا مثل src/**/*.{js,ts}، لصق مسارات، وشاهد أن المطابقين يُظهران بونت أخضر وأن غير المطابقين يُخففون تدريجيًا أثناء الكتابة.
كيفية استخدام
- أدخل نمط الـ glob في الحقل نمط عالمي (مثلاً
**/*.log). - اختر نظام الـ Shell / الوضع — يمكن أن يتطابق نفس النمط مع مجموعات مختلفة من المسارات حسب ما إذا كنت في Bash، .gitignore، Python
fnmatchأو Go. - ألصق مسارات الملفات واحدة في كل سطر — أو اضغط على مثال مُدمج.
- يُظهر المطابقون بونت أخضر مع أيقونة تحقق؛ يبقى غير المطابقين بنيون. يُظهر الملخص العدد وملاحظة حول الوضع الذي اخترته.
- أضف مقدمة إلى النمط بـ
!لإلغاء المطابقة (يُظهر كل شيء لا يتطابق). لا أربعة أنماط للـ Shell
خصائص
- – Bash (مع globstar)، Zsh extended_glob، .gitignore، Python كلها مع المعاني الصحيحة لـ
fnmatchو Gopath.Match، وتوسيع القوس.*,**,?مُظهر تفاعلي في الوقت الحقيقي - – يتم تقييم المسارات تلقائيًا أثناء كتابة النمط؛ لا يوجد زر إرسال. توسيع القوس
- البدائل في أنماط Bash وZsh، بما في ذلك التداخل والمنتجات المتقاطعة مثل 0–9 (top row)
{a,b,c}فئات الحروفsrc/{js,ts}/**/*.{spec,test}.ts. - فئات مُنفّرة، ونطاقات مثل 0–9 (top row)
[abc],[!abc]إلغاء التمثيل[A-Z]. - – أضف أي نمط بـ لإلغاء التمثيل.
!ملاحظات الوضع - – تظهر ملاحظة قصيرة تحت كل نتيجة توضح كيفية تفسير النمط من قبل الوضع المختار. أمثلة سريعة
- – قم بتحميل تخطيط مشروع ويب، أو مُدخل فلتر للسجلات بأسلوب .gitignore، أو مثال من وثائق /README لتعلم من خلال المراقبة. – لا تُخرج النماذج أو المسارات من متصفحك؛ يعمل بشكل مُتَّسق دون اتصال بالإنترنت بعد التحميل.
- من جانب العميل فقط فحص قواعد .gitignore
حالات الاستخدام الشائعة
- – لصق قائمة من مسارات من وأظهر أي مسارات ستُتجاهل من قبل قاعدة مُقترح.
git statusكتابة معلمات البناء باستخدام نمط الـ glob - – تحقق من أن النمط المُدخل إلى يتطابق مع الملفات التي تُتوقع وبدون أي مسارات إضافية.
tsc,esbuild، أوprettier --writeكتابة مُدخلات مسارات للعملية التلقائية - – تأكيد أن مُدخل مسار في GitHub Actions أو GitLab CI يُغطي المجموعة الصحيحة من الملفات قبل الإرسال. تحويل سيناريوهات الأوامر المكتوبة بالـ shell
paths:– تحقق من أن النمط لا يزال يعمل بعد نقل الكود من Bash إلى خدمة بـ Python أو Go. - تعليم معاني نمط الـ glob – أظهر الطلاب بوضوح لماذا لا يتجاوز نمط * الحدود بين المجلدات في Bash ولكن يفعل ذلك في
- ما هو الفرق بين * و** في نمط الـ glob؟ أحد
*يُطابق أي أحرف داخل قطعة مسار واحدة ولا يتجاوز مُقسّم المجلد (fnmatch.
التعليمات
-
). المُزدوج
(مُعرف بـ globstar) يُطابق أي عدد من الأحرف عبر أي عدد من قطع المجلدات. لذا فإن
*لكن ليس/، بينما**يُطابق كلاهما. ليس كل أنواع نمط الـ glob تدعمsrc/*.jscoincidensrc/index.js— Pythonsrc/utils/index.jsوGosrc/**/*.jsتُعامل النجمتين كمُدخلات منفصلة.**ما الفرق بين مطابقة نمط الـ glob وتعبيرات منتظمة؟fnmatchالنمط الـ glob هو لغة نمط أصغر مصممة لتحديد مسارات الملفات. معظم الأحرف هي أحرف حرّة:path.Match، و(في بعض الأنظمة)*هي فقط المُتَمثّل. لا توجد بنية للعدد، ولا توجد تثبيتات، ولا توجد مراقبات، ولا توجد مراجعات. يتم عادةً تحويل نمط الـ glob إلى تعبير منظم داخليًا، لكن المستخدم لا يحتاج إلى التفكير في مصطلحات التعبيرات المنظمة. تم تصميم نمط الـ glob بشكل مبسط بحيث تبقى أوامر الـ shell قصيرة وقابلة للتنبؤ. -
لماذا لا يعمل توسيع القوس في جميع أنواع نمط الـ glob؟
توسيع القوس (
*,?,[...]مُوَسّع إلى ثلاثة خيارات) هو ميزة تقنية في Bash وZsh، ويتم تقييمها قبل مطابقة النمط. يُوسع القوس في النظام إلى عدة مدخلات، ويتم مطابقة الملفات الناتجة بشكل منفصل. لا تُستخدم مكتبات نمط الـ glob من قبل أدوات مثل{...}(في -
)، Python
لا تُدمج توسيع القوس لأنها ليست جزءًا من لغة نمط الـ glob — إنها خطوة مسبقة على مستوى النظام.
{a,b,c}ما معنى الرمز ! في نمط الـ glob؟gitالمعنى الدقيق يعتمد على السياق. داخل فئة الحروف،.gitignoreتُلغى الفئة — تطابق أي حرف واحد غيرfnmatchو Gopath.Match. كمقدمة على النمط ككل، -
هي ميزة تُعيد تضمين مسار مُستبعد سابقًا. لا يتعامل معظم الأنظمة مع الرمز ! كنفي للنمط ككل — إما أن يُظهر خطأ (توسيع التاريخ في Zsh) أو يُمررها. في هذا المُختبر، يُفهم الرمز ! كميزة سهولة: يُعكس المطابقة بحيث تُظهر المسارات غير المطابقة بونت أخضر.
مثلاً، src/**/*.{js,ts}
[!abc]src/index.jssrc/utils/helpers.tsREADME.md...a,b، أوcمُختبر نمط الـ Shell Glob 1!مُعدّل ومحوّل Jsonnet.gitignoreمُختبر نمط الـ Shell Glob!اختبار نماذج الـ glob على قائمة من مسارات الملفات ورؤية الملفات التي تتطابق بدقة — في الوقت الحقيقي، مع المعاني الخاصة بـ Bash، Zsh، .gitignore، Python fnmatch،!يُفهم كميزة سهولة: يعكس النتيجة بحيث تُظهر المسارات غير المطابقة بونت أخضر.
تثبيت ملحقاتنا
أضف أدوات IO إلى متصفحك المفضل للوصول الفوري والبحث بشكل أسرع
恵 وصلت لوحة النتائج!
لوحة النتائج هي طريقة ممتعة لتتبع ألعابك، يتم تخزين جميع البيانات في متصفحك. المزيد من الميزات قريبا!
