Escape символы из echo -e

При обнаружении match, grep печатает всю совпавшую строку. Чтобы он печатал только совпадающий текст, вы можете использовать переключатель -o . Но это печатает всю совпавшую строку в строке. Чтобы он напечатал то, что вам нужно, вы должны использовать утверждения просмотра назад и вперед . Для этого требуется grep с поддержкой PCRE.

> grep -Po '(?<=ABCDEF).+(?=K)' <<< 'ABCDEFGHIJKL'
GHIJ

Объяснение:

  • -P Включить регулярное выражение, совместимое с perl
  • -o Печатать только совпадающий текст, а не всю строку
  • (? Положительный вид- за утверждением для сопоставления ABCDEF
  • (? = K) Утверждение положительного упреждающего просмотра для сопоставления K
  • . + Сопоставить все между приведенными выше утверждениями

1
01.12.2015, 00:35
0 ответов

Теги

Похожие вопросы