TL;DR

  • sed 를 사용할 때 기본적으로는 regex 를 사용하지 못한다.
  • 따라서 regex 로 pattern matching 을 하고자 할 때는 -r 이나 -E 옵션을 사용하면 된다.

Tip -r-E 의 차이

  • 이 두가지는 동일하다. 다만 POSIX compatibility 를 위해서는 -E 를 사용하라고 권고한다.
  • 그리고 grep 에서도 동일하게 -E 를 사용하기 때문에 그냥 -E 를 사용하자.
sed -r 's/PATTERN/NEW_PATTERN/' $FILE
sed -E 's/PATTERN/NEW_PATTERN/' $FILE