Mryqu's Notes


  • 首页

  • 搜索
close

sed正则表达式捕获组实践

时间: 2020-12-04   |   分类: Tool   Linux     |   阅读: 62 字 ~1分钟
mryqu> cat test.txt
Hello from="Beijing" via="Nanjing"  to="Shanghai".
test
123

mryqu> sed -e 's/^Hello.*from="[^"]\+".*$/abc/g' test.txt
abc
test
123

mryqu> sed -e 's/^Hello.*from="\([^"]\+\)".*$/\1/g' test.txt
Beijing
test
123

mryqu> sed -e 's/^\(Hello.*from="\)\([^"]\+\)\(".*\)$/\1********\3/g' test.txt
Hello from="********" via="Nanjing"  to="Shanghai".
test
123

mryqu> sed -e 's/^\(Hello.*from="\)\([^"]\+\)\(".*\)$/\1********\3/g' -e 's/^\(Hello.*to="\)\([^"]\+\)\(".*\)$/\1********\3/g' test.txt
Hello from="********" via="Nanjing"  to="********".
test
123

mryqu>

注:sed不支持非贪婪模式。

参考

  • Sed教程-正则表达式
  • grep、sed、awk、perl等对正则表达式的支持的差别
  • How to output only captured groups with sed?

标题:sed正则表达式捕获组实践
作者:mryqu
声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

#sed# #regex# #capture group#
Shell逐行读取、解析并export变量实践
Shell显示彩色文字
  • 文章目录
  • 站点概览

Programmer & Architect

662 日志
27 分类
1472 标签
GitHub Twitter FB Page
    • 参考
© 2009 - 2023 Mryqu's Notes
Powered by - Hugo v0.120.4
Theme by - NexT
0%