sed 大括号 sed {} 的作用详解

今天看别人写的脚本的时候,看到了sed  -r   {}   我看网上对于这个的记录比较少,所以就写了这篇随笔。

 

先看一下效果

cat  test.txt

image: qqq/www/eee:TAG

image: aaa/bbb/ccc:TAG

 

sed -r '/image:/{/ccc/! s#image: ([^:]*):.*#image: \1:哈哈#g}'  test.txt

image: qqq/www/eee:哈哈
image: aaa/bbb/ccc:TAG

 

可以看到第一行的TAG被替换成了哈哈。

其实本来有最简单的方式:

sed -r 's/(eee:)TAG/\1哈哈/g' test.txt

image: qqq/www/eee:哈哈
image: aaa/bbb/ccc:TAG

 

其实方式有很多,我今天主要说的是这个{}在sed里面的作用。

 

首先sed 要想使用{} 就必须要加参数-r 这个是支持正则的意思,你可以写各种扩展正则。

 

1,大括号其实就是可以放多个命令,每一个命令都可以执行,用;分隔。

    比如: sed  -r  '{s/aaa/bbb/g; s#qqq#xxx#g}'   aaa.txt

    这个的意思就是把aaa替换成bbb    qqq替换成xxx。

 

总结:其实{}就是可以把多个规则放里面,用;分隔。

 

posted @   春寒知冬冷  阅读(1608)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示