كيف يمكنك إجراء بحث غير حساس لحالة الأحرف باستخدام معدِّل النمط باستخدام كمية أقل؟
-
08-06-2019 - |
سؤال
يبدو أن الطريقة الوحيدة للقيام بذلك هي تمرير المعلمة -i عند تشغيل أقل في البداية.هل يعرف أحد أي اختراق سري لجعل شيء مثل هذا يعمل
/something to search for/i
المحلول
يمكنك أيضًا كتابة الأمر -I
بينما يتم تشغيل أقل.يقوم بتبديل حساسية الحالة لعمليات البحث.
نصائح أخرى
يمكنك أيضًا تعيين متغير البيئة LESS
أنا أستعمل LESS=-Ri
, ، حتى أتمكن من ضخ الإخراج الملون من grep
فيه، والحفاظ على تسلسلات الألوان ANSI.
ميزة أخرى قليلة الاستخدام وجدتها هي البدء بها +F
كحجة (أو ضرب يحول+F بينما في أقل).يؤدي هذا إلى متابعة الملف الذي قمت بفتحه، بنفس الطريقة التي تتبعها tail -f <file>
سوف.مفيد جدًا إذا كنت تشاهد ملفات السجل من أحد التطبيقات، ومن المحتمل أن ترغب في عمل نسخة احتياطية للصفحة (إذا كان يتم إنشاء 100 سطر من التسجيل كل ثانية، على سبيل المثال).
إضافة لما قاله @Juha:في الحقيقة -i
تشغيل ميزة عدم حساسية حالة الأحرف باستخدام SmartCasing، أي إذا كان بحثك يحتوي على حرف كبير، فسيكون البحث حساسًا لحالة الأحرف، وإلا فسيكون غير حساس لحالة الأحرف.فكر في الأمر على أنه :set smartcase
في فيم.
على سبيل المثال:مع -i
, ، سوف يتطابق البحث عن "log" في "Log,.." بينما لن يتطابق البحث عن "Log" في "log,..".
يبدو أنه يمكنك استدعاء هذه الميزة على أساس كل بحث على النحو التالي:
less prompt> /search string/-i
هذا الخيار موجود less
المساعدة التفاعلية التي يمكنك الوصول إليها عبر h
:
less prompt> h
...
-i ........ --ignore-case
Ignore case in searches that do not contain uppercase.
-I ........ --IGNORE-CASE
Ignore case in all searches.
...
لم أقم بالتحقق على نطاق واسع ولكن المساعدة less
يسرد الإصدار 487 على نظام التشغيل MacOS بالإضافة إلى توزيعات Linux الأخرى هذا الخيار على أنه متاح.
على نظام التشغيل MacOS، يمكنك أيضًا تثبيت إصدار أحدث من less
عبر brew
:
$ brew install less
$ less --version
less 530 (POSIX regular expressions)
Copyright (C) 1984-2017 Mark Nudelman
مراجع
عند استخدام علامة -i، تأكد من إدخال سلسلة البحث بالكامل بأحرف صغيرة، لأنه إذا كان أي حرف بأحرف كبيرة، فهذا يعني أنه مطابق تمامًا.
أنظر أيضا:علامة -I (الحرف الكبير i) أقل (1) لتغيير هذا السلوك.