تطابق حرف واحد بين سلسلة البداية والنهاية سلسلة
سؤال
وأنا لا يمكن أن يبدو لفهم التعبير العادي على الإطلاق. كيف يمكنني تتطابق مع الطابع الذي يتواجد بين START وسلسلة END. على سبيل المثال
و# START-تحرير
و# ValueA = 0
و# VALUE مليار = 1
و# END-تحرير
وأريد أن تتطابق مع أي # وهو بين # START-تحرير و# END-تحرير.
وعلى وجه التحديد أريد أن استخدم ااا لتحل محل مباريات # القيم مع أي شيء (حذفها) على الملفات المختلفة التي قد تكون أو لا تكون متعددة START-تحرير وEND-تحرير أقسام.
المحلول
^#START-EDIT.*(#) *. *#END-EDIT$
نصائح أخرى
والحوار الاقتصادي الاستراتيجي يستند الخط. يمكنك البحث بسهولة، استبدل بناء على التعابير المنطقية في سطر واحد. ولكن لا توجد وسيلة سهلة حقا للبحث / استبدال على multilines. AWK يمكنها أن تفي بالغرض.
إذا كان لديك التعبير المعتاد على سطر واحد، يمكن أن يكون الأمر التالي ما كنت تبحث عن
sed -e "/^#START-EDIT.*#END-EDIT$//" myInput.txt
لا تنتمي إلى StackOverflow