grep和sed命令正则表达式的使用

grep和sed命令正则表达式的使用 #

详见文章: ../../../linux/man/BRE-and-ERE.md

BRE and ERE #

  • BRE: 基本正则表达式,元字符:^ $ . [ ] *
  • ERE: 扩展正则表达式,元字符:^ $ . [ ] * ( ) { } ? + |
  • (){} 等字符用反斜杠转义后,在 BRE 中被看作元字符,在 ERE 中被看作普通字符。

如何使用 #

bash
# grep 默认使用 BRE,添加 -E 参数后使用 ERE
grep -E ...

# sed 默认使用 BRE,添加 -r or -E 参数后使用 ERE
sed -r

Examples:

bash
# abcdef ==> ABcdEF
echo 'abcdef' | sed 's/ab\(cd\)ef/AB\1EF/'
echo 'abcdef' | sed -r 's/ab(cd)ef/AB\1EF/'
2025年1月15日