بوويرشيل هو أداة قوية لأتمتة المهام في نظام التشغيل ويندوز. يسمح لك بإجراء العديد من عمليات سطر الأوامر ، بما في ذلك البحث عن السلاسل في الملفات النصية. يمكن أن يكون العثور على السطر الصحيح في ملف مفيدا جدا عند تصحيح أخطاء أو تحليل كميات كبيرة من البيانات.
في هذه المقالة ، سننظر في عدة طرق للبحث عن سلسلة في بوويرشيل. سنوضح لك كيفية استخدام الأوامر والوظائف المضمنة لإنجاز هذه المهمة. سنشارك أيضا بعض النصائح والحيل التي ستساعدك على تسريع عملية البحث والحصول على نتائج أكثر دقة.
إذا كنت جديدا على بوويرشيل ، لا تقلق. سنبدأ بأمثلة بسيطة وننتقل تدريجيا إلى طرق أكثر تعقيدا. في نهاية المقال ، لن تحصل فقط على مهارة البحث عن السلاسل في بوويرشيل ، ولكن أيضا على فهم كيفية عملها وكيفية تطبيقها في مشاريعك ومهامك.
- طرق البحث عن سلسلة في بوويرشيل
- البحث عن سلسلة باستخدام الأمر تحديد سلسلة
- بناء جملة الأمر تحديد سلسلة:
- المعلمات الرئيسية للأمر حدد سلسلة:
- مثال على استخدام أمر تحديد السلسلة:
- استخدام عامل المطابقة للبحث عن سلسلة
- البحث عن سلسلة باستخدام التعبيرات العادية
- البحث عن سلسلة في ملفات متعددة باستخدام الأمر جيت تشيلديتم
- قدرات البحث سلسلة متقدمة
- تجاهل الحالة عند البحث عن سلسلة في بوويرشيل
- البحث عن سلسلة باستخدام الشروط
- مشغلي الشرط
- أمثلة على البحث في السلسلة باستخدام الشروط
- نتيجة بحث السلسلة
- خاتمة
- سؤال وجواب
- كيف يمكنني العثور على خط في بوويرشيل?
- كيف أجد كل السلاسل التي لا تحتوي على كلمة معينة في بوويرشيل?
- هل من الممكن لتشغيل التعبير العادي عند البحث عن سلسلة في بوويرشيل?
طرق البحث عن سلسلة في بوويرشيل
بوويرشيل يقدم عدة طرق للبحث عن سلسلة في ملفات نصية أو أوامر الإخراج.
- البحث عن سلسلة: هذا أمر يسمح لك بالبحث عن سلسلة في الملفات المحددة.
- حدد-سلسلة: يحدد الأمر السلاسل التي تحتوي على النص المحدد من الإدخال أو الملفات.
- الحصول على المحتوى وأين الكائن: يمكن استخدامها معا لتصفية إخراج أمر أو محتويات ملف باستخدام عامل تصفية الأوامر.
أمثلة الاستخدام:
- الحصول على-ملف المحتوى.النص / أين-كائن { $_- تطابق "نمط"}
واحدة من المزايا الرئيسية لبوويرشيل هو قدرته على العمل مع الملفات النصية وتنفيذ العديد من عمليات البحث والتصفية. بل هو أداة قوية لمسؤولي نظام ويندوز.
البحث عن سلسلة باستخدام الأمر تحديد سلسلة
يوفر الأمر حدد سلسلة القدرة على إجراء بحث النص قوية في ملف أو دفق البيانات باستخدام التعبيرات العادية في بوويرشيل. يسمح لك بالعثور على سلاسل تتطابق مع نمط معين وعرض معلومات حول موقع التطابقات التي تم العثور عليها.
لاستخدام الأمر تحديد سلسلة في بوويرشيل ، يجب تحديد المسار إلى الملف أو إدخال خط أنابيب مع البيانات التي سيتم البحث عنها. لتحسين معايير البحث ، يمكنك تعيين معلمات أوامر مختلفة.
بناء جملة الأمر تحديد سلسلة:
حدد-سلسلة [- نمط] [- مسار] [- جميع المطابقات] [- حساس للحالات] [- إغنوريكاس] [- السياق] [- قائمة] [- متعدد الأسطر] [- هادئ] [- بسيط] [- غير متطابق] [- هادئ] [- خام] [- تيار] [- ترميز ]
- المعلمات الرئيسية لأمر تحديد السلسلة هي:
- - نمط: قالب للبحث. يمكن أن يكون واحدا أو أكثر من التعبيرات العادية.
- - مسار : المسار إلى الملف أو الملفات التي سيتم تنفيذ البحث السلسلة.
- - جميع المباريات: يشير إلى الحاجة إلى العثور على جميع المباريات في كل صف. بشكل افتراضي ، يتم إرجاع المباراة الأولى فقط.
- - حساس للحالة: يشير إلى حساسية الحالة عند البحث عن السلاسل.
- - إغنوريكاس: تجاهل القضية عند البحث عن السلاسل.
- - السياق : عدد سلاسل السياق التي سيتم إرجاعها مع التطابقات التي تم العثور عليها.
- - قائمة: يعرض فقط مسارات الملفات التي تحتوي على مباريات.
- متعدد الأسطر: البحث عن خطوط في أسطر متعددة من النص.
مثال على استخدام أمر تحديد السلسلة:
لنفترض أن لدينا مثال ملف.النص الذي يحتوي على الأسطر التالية:
خط 1: مرحبا ، العالم!
السطر 2: بوويرشيل هو أداة قوية.
خط 3: مرحبا بكم في العالم بوويرشيل.
للعثور على جميع الأسطر التي تحتوي على كلمة "بوويرشيل" ، يمكنك تشغيل الأمر التالي:
حدد-سلسلة نمط" بوويرشيل "- مسار " مثال.النص"
سيؤدي هذا إلى إرجاع النتيجة التالية:
مثال.النص: 2: خط 2: بوويرشيل هو أداة قوية.
مثال.نص: 3: خط 3: مرحبا بكم في عالم بوويرشيل.
المعلمة-نمط يشير إلى نمط البحث ، و-مسار يشير إلى الملف الذي للبحث عن السلاسل. نتيجة لذلك ، يتم عرض الأسطر التي تم العثور فيها على التطابقات ، جنبا إلى جنب مع مسارات الملفات وأرقام الأسطر المقابلة.
وبالتالي ، فإن أمر تحديد السلسلة هو أداة قوية للبحث عن السلاسل وفقا لمعايير محددة في بوويرشيل. يسمح لك بالعثور على التطابقات باستخدام التعبيرات العادية ومعلومات الإخراج حول السلاسل التي تم العثور عليها.
استخدام عامل المطابقة للبحث عن سلسلة
واحدة من أكثر الطرق شيوعا للبحث عن سلسلة في بوويرشيل هو استخدام عامل المباراة. يسمح لك بالعثور على جميع تكرارات نمط معين في سلسلة.
يبدو بناء جملة عامل المطابقة كما يلي:
-سلسلة المباراة
حيث string السلسلة هي متغير يحتوي على سلسلة ، وهو النمط الذي نبحث عنه في السلسلة.
يعود عامل المطابقة صحيحا إذا تم العثور على تطابق واحد على الأقل مع النمط في السلسلة. إذا لم يتم العثور على تطابقات ، فإن عامل المطابقة يرجع خطأ.
مثال الاستخدام:
string سلسلة = "هذا مثال على سلسلة نبحث فيها عن كلمة "مثال"."
pattern نمط = 'مثال'
إذا (- سلسلة-تطابق-نمط) {
الكتابة-المضيف " تم العثور على المباراة."
# رمز إضافي للعمل مع التطابقات التي تم العثور عليها
} آخر {
اكتب-مضيف " لم يتم العثور على تطابق."
}
في هذا المثال ، يحتوي متغير سلسلة string على سلسلة المصدر ، ويحتوي متغير نمط pattern على القالب الذي نبحث عنه-كلمة 'مثال'.
إذا تم العثور على تطابق في سلسلة string مع نمط pattern نمط ، ثم كتلة من التعليمات البرمجية داخل الشرط إذا سيتم تنفيذ البيان. في هذه الحالة ، الرسالة " تم العثور على تطابق."سيتم عرضها.
يمكن استخدام عامل المطابقة ليس فقط مع الكلمات المفردة ، ولكن أيضا مع أنماط أكثر تعقيدا ، على سبيل المثال ، باستخدام التعبيرات العادية.
عند استخدام مشغل المطابقة ، يمكنك أيضا استخدام معلمات إضافية مثل-حساس للحالات ، - لا تتطابق وغيرها لتخصيص سلوك المشغل.
باستخدام المشغل المباراة هو وسيلة مريحة وقوية للبحث عن سلاسل في بوويرشيل. يسمح لنا بالعثور على التطابقات التي نحتاجها وإجراء عمليات إضافية معهم.
البحث عن سلسلة باستخدام التعبيرات العادية
في بوويرشيل ، يمكنك استخدام التعبيرات العادية للبحث عن سلسلة معينة في ملفات نصية أو أوامر الإخراج. التعبيرات العادية هي قوالب تسمح ببحث أكثر مرونة باستخدام قواعد وشروط مختلفة.
لإجراء بحث سلسلة باستخدام التعبيرات العادية ، ستحتاج إلى وظيفة تحديد السلسلة. تتيح لك هذه الوظيفة البحث عن التطابقات في السلاسل وإخراج النتائج.
فيما يلي مثال بسيط على استخدام التعبيرات العادية للبحث عن سلسلة:
string سلسلة = "سلسلة سبيل المثال للبحث عن"
إذا (string سلسلة-تطابق" للبحث عن") {
"تم العثور على المباراة"
} آخر {
"لم يتم العثور على تطابقات"
}
في هذا المثال ، نستخدم عامل المطابقة للبحث عن السلسلة "للبحث عن" في متغير سلسلة match. إذا تم العثور على تطابق ، يتم إرجاع الرسالة "تم العثور على تطابق" ، وإلا يتم عرض الرسالة "لم يتم العثور على تطابقات".
ومع ذلك ، فإن استخدام التعبيرات العادية في بوويرشيل يوفر ميزات أكثر قوة. على سبيل المثال ، يمكنك استخدام الأحرف الأولية للبحث ليس فقط عن كلمات أو عبارات معينة ، ولكن أيضا عن أنماط محددة.
فيما يلي مثال للبحث عن جميع السلاسل التي تتطابق مع نمط معين:
text نص=@"
هذا هو السطر 1
هذا هو السطر 2
هذا هو السطر 3
"@
text نص / حدد سلسلة نمط"سلسلة [0-9]"
في هذا المثال ، نبحث عن سلاسل تحتوي على كلمة "سلسلة" ورقم من 0 إلى 9. ستكون النتيجة قائمة بالسلاسل التي تتطابق مع هذا النمط.
هذا هو مجرد أبسط مثال على استخدام التعبيرات العادية في بوويرشيل. باستخدام التعبيرات العادية ، يمكنك إجراء عمليات بحث وتصفية أكثر تعقيدا للبيانات ، بالإضافة إلى استبدال السلسلة بناء على أنماط معينة. تعلم التعبيرات العادية يمكن أن تسمح لك لإدارة أكثر مرونة استرجاع البيانات ومعالجتها في بوويرشيل.
البحث عن سلسلة في ملفات متعددة باستخدام الأمر جيت تشيلديتم
الأمر جيت تشيلديتم هي واحدة من الأدوات الرئيسية في بوويرشيل للعمل مع الملفات والمجلدات. يسمح لك بالحصول على قائمة بالملفات والمجلدات في الدليل المحدد.
للبحث عن سلسلة في عدة ملفات ، يمكنك استخدام مزيج من أوامر جيت تشيلديتم و سيليكت-سترينغ. الأمر حدد سلسلة يسمح لك للبحث عن سلاسل مع محتويات محددة في ملف.
- تبدو عملية البحث عن سلسلة في عدة ملفات باستخدام الأمر جيت تشيلديتم كما يلي:
- استخدم الأمر جيت تشيلديتم مع المعلمة المسار لتحديد المسار إلى الدليل حيث تريد البحث عن الملفات. على سبيل المثال ، احصل على مسار الطفل Path:\ \ \\ \ \
- إضافة عامل تصفية مع المعلمة-تصفية لتحديد نوع الملفات التي للبحث عن السلسلة. على سبيل المثال ، الحصول على-تشايلديتم-مسار::\\\ \ \ filter-تصفية "*.النص"
- حفظ نتيجة الأمر جيت تشيلديتم إلى متغير. على سبيل المثال ، files الملفات = الحصول على-تشايلديتم-مسار::\\\ \ \ filter-تصفية "*.النص"
- استخدام حلقة للذهاب من خلال جميع الملفات في متغير files ملفات
- لكل ملف ، استخدم الأمر تحديد سلسلة مع المعلمة نمط لتحديد السلسلة التي يمكن العثور عليها. على سبيل المثال ، حدد-سلسلة-مسار file ملف.الاسم الكامل-نمط"سلسلة"
اعرض نتائج البحث على الشاشة أو احفظها في متغير لاستخدامها في المستقبل.
في ما يلي مثال على البرنامج النصي الذي يبحث عن سلسلة في جميع الملفات النصية في الدليل المحدد:
- الملفات = الحصول على-تشايلديتم-مسار -:\\ \ \ \ filter-تصفية "*.النص"
sear سلسلة البحث = "سلسلة"
فوريش (file ملف في files ملفات) {
حدد-سلسلة-مسار-ملف.الاسم الكامل-نمط-سلسلة البحث
}
نتيجة لتنفيذ البرنامج النصي ، سيتم إخراج جميع الأسطر التي تحتوي على السلسلة الفرعية المحددة الموجودة في الملفات النصية في الدليل المحدد.
البحث عن سلسلة في ملفات متعددة باستخدام أوامر جيت تشيلديتم واختيار سلسلة هو وسيلة مريحة لأتمتة عملية البحث عن المعلومات في عدد كبير من الملفات.
قدرات البحث سلسلة متقدمة
بالإضافة إلى سلسلة البحث الأساسية في بوويرشيل ، وهناك ميزات إضافية تسمح لك لصقل وتسريع عملية البحث.
1. استخدام التعبيرات العادية: في بوويرشيل ، يمكنك استخدام التعبيرات العادية للبحث عن السلاسل. للقيام بذلك ، يمكنك استخدام عامل المطابقة وتحديد تعبير عادي كوسيطة.
2. تجاهل الحالة: إذا كنت بحاجة إلى تجاهل الحالة عند البحث عن سلسلة ، يمكنك استخدام عامل التشغيل-إيماتش بدلا من-المباراة. سيسمح لك ذلك بالعثور على السلاسل ، بغض النظر عن حالتها.
3. تحديد منطقة البحث: بشكل افتراضي ، عند البحث عن سلاسل في بوويرشيل ، يتم إجراء البحث في جميع أنحاء النص. إذا كنت بحاجة إلى تقييد منطقة البحث ، فيمكنك استخدام علامة السياق وتحديد عدد الصفوف قبل وبعد الصف الذي تم العثور عليه والذي يجب تضمينه في النتيجة.
4. البحث على أساس الدلائل الفرعية: إذا كنت بحاجة إلى العثور على سلسلة في عدة ملفات ، بما في ذلك الملفات الموجودة في الدلائل الفرعية ، يمكنك استخدام الأمر جيت تشيلديتم مع العلم ريكورس. سيسمح لك ذلك بالزحف بشكل متكرر إلى جميع الدلائل الفرعية والعثور على الأسطر في جميع الملفات.
5. حفظ نتائج البحث: إذا كنت بحاجة إلى حفظ سلسلة نتائج البحث ، يمكنك استخدام - المباراة المشغل وإعادة توجيه النتائج إلى ملف جديد باستخدام > المشغل . على سبيل المثال ، يمكن حفظ نتائج البحث عن السلسلة "مثال" في ملف "الإخراج.النص " باستخدام الأمر التالي:
الحصول على-ملف المحتوى.النص / حدد-سلسلة "مثال" > الإخراج.النص
سيؤدي هذا إلى حفظ جميع الأسطر التي تحتوي على السلسلة "مثال" من ملف "ملف".النص "إلى ملف" الإخراج.النص".
مع هذه الميزات المتقدمة ، سوف تكون قادرة على البحث عن سلاسل في بوويرشيل أكثر مرونة وكفاءة.
تجاهل الحالة عند البحث عن سلسلة في بوويرشيل
عند البحث عن سلسلة في بوويرشيل ، يمكنك استخدام بعض الأعلام والوظائف لتجاهل حالة الأحرف. هذا مفيد بشكل خاص عندما تحتاج إلى العثور على جميع تكرارات السلسلة ، بغض النظر عما إذا كانت مكتوبة بأحرف كبيرة أو صغيرة.
- - الأيقونات
- تصفية
- الأيقونات
:
strings سلاسل = "مرحبا" ، "مرحبا" ، "مرحبا"
- سلاسل تصفية = - سلاسل الرموز "مرحبا"
- سلاسل تصفية
ستكون نتيجة تنفيذ هذا الرمز كما يلي:
أهلاً
أهلاً
$سلاسل
حدد-سلسلة
:
strings سلاسل = "مرحبا" ، "مرحبا" ، "مرحبا"
- سلاسل تصفية = - سلاسل / حدد-نمط سلسلة "مرحبا" - حساس للحالات-خطأ
- سلاسل تصفية
ستكون نتيجة تنفيذ هذا الرمز كما يلي:
أهلاً
أهلاً
حدد-سلسلة
حدد-سلسلة
يمكنك التأكد من أنه سيتم العثور على جميع تكرارات السلسلة ، بغض النظر عن حالة الأحرف.
البحث عن سلسلة باستخدام الشروط
بوويرشيل يوفر أدوات قوية للبحث سلاسل باستخدام الظروف. يتيح لك ذلك تخصيص البحث بمرونة والحصول على النتائج التي تحتاجها فقط. سيغطي هذا القسم الطرق الرئيسية للبحث عن السلاسل في بوويرشيل باستخدام الشروط.
مشغلي الشرط
- للبحث في السلاسل باستخدام الشروط في بوويرشيل ، يتم استخدام عوامل تشغيل مختلفة ، مثل:
- - مكافئ (يساوي) - يبحث عن السلاسل التي تتطابق تماما مع القيمة المحددة.
- - ني (غير متساو) - يبحث عن السلاسل التي لا تتطابق مع القيمة المحددة.
- - مثل-يبحث عن السلاسل التي تتطابق مع نمط معين.
- - ليس مثل (ليس مثل) — يبحث عن السلاسل التي لا تتطابق مع النمط المحدد.
- - مباراة (مباريات) - يبحث عن السلاسل التي تتطابق مع التعبير العادي المحدد.
- نوتماتش (لا يتطابق) — يبحث عن السلاسل التي لا تتطابق مع التعبير العادي المحدد.
أمثلة على البحث في السلسلة باستخدام الشروط
نتائج $
البحث عن سلسلة مجتمعة:
- strings سلاسل = "سلسلة 1" ، "سلسلة 2" ، "سلسلة 3"
- results النتائج = strings سلاسل / أين-كائن {__- مثل "سلسلة*" - و ne _ - ني "سلسلة 2"}
نتائج $
نتيجة بحث السلسلة
يتم إرجاع نتيجة البحث عن السلاسل باستخدام الشروط كمجموعة من السلاسل. لتسهيل العمل مع نتيجة البحث ، يمكنك استخدام طرق وخصائص مختلفة للمجموعة، مثل:
العد-الحصول على عدد الصفوف التي تم العثور عليها.
أولا-العثور على السلسلة الأولى.
آخر-الحصول على السلسلة الأخيرة وجدت.
فرز-فرز الصفوف التي تم العثور عليها.
يمكنك أيضا حفظ نتيجة البحث في متغير واستخدامها لاحقا.