sed替换、提取内容案例

sed替换

这个命令可以看到替换后的内容,如果希望替换后的内容直接覆盖原文件,加上-i参数即可
备注:mac与linux替换原文件略有区别,mac强制要求对原文件进行备份

more tmp.txt
abcdef
hbhberfdhsf

sed 's/b.*d/lzc/g' tmp.txt
alzcef
hlzchsf

sed -i ''  's/b.*d/lzc/g' tmp.txt
more tmp.txt
alzcef
hlzchsf

sed提取

more tmp.txt
abcdef
hbhberfdhsf

# sed  -n(屏蔽默认输出,默认sed会输出读取文档的全部内容)
# sed  /p(将匹配到的内容打印出来)
# sed  -e script 指定sed编辑命令
sed -n -e 's/.*b\(.*\)d.*/\1/p' tmp.txt
c
erf


# sed提取真实案例
# 把.*<release>\(.*\)<\/release>.* 提取其中的\1部分,即中间的括号部分
url=https://maven.aliyun.com/repository/public/com/taobao/arthas/arthas-packaging/maven-metadata.xml
curl -L ${url}
<?xml version="1.0" encoding="UTF-8"?>

<metadata>
  <groupId>com.taobao.arthas</groupId>
  <artifactId>arthas-packaging</artifactId>
  <version>3.1.7</version>
  <versioning>
    <release>3.3.7</release>
    <versions>
      <version>3.0.0-RC</version>
      <version>3.0.3</version>
      <version>3.0.4</version>
      <version>3.0.5</version>
      <version>3.1.0</version>
      <version>3.1.1</version>
      <version>3.1.2</version>
      <version>3.1.3</version>
      <version>3.1.4</version>
      <version>3.1.5</version>
      <version>3.1.6</version>
      <version>3.1.7</version>
      <version>3.1.8</version>
      <version>3.2.0</version>
      <version>3.3.0</version>
      <version>3.3.1</version>
      <version>3.3.2</version>
      <version>3.3.3</version>
      <version>3.3.4</version>
      <version>3.3.5</version>
      <version>3.3.6</version>
      <version>3.3.7</version>
    </versions>
    <lastUpdated>20200723165700</lastUpdated>
  </versioning>
</metadata>

curl -sLk "${url}" | sed -n -e 's/.*<release>\(.*\)<\/release>.*/\1/p' | head -n 1
3.3.7

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值