sed 先过滤在替换字符串

如果文件中有多个相同的字符串,但只是想替换其中一个,可以先过滤在替换,比如只想替换最后一行的nginx

1
2
3
4
5
metadata:
namespace: default
name: nginx
labels:
app: nginx

命令示例:

1
sed "/app/{s/nginx/myapp/g}" file

首先查找具有 OS 模式的行,然后用 ArchLinux 替换单词 Linux

1
sed '/OS/ s/Linux/ArchLinux/' sed-test.txt

以下 sed 的命令搜索 linuxunix 和 CentOS 模式,用 Fedora30 替换它们

1
sed -e 's/\(linuxunix\|CentOS\)/Fedora30/g' sed-test.txt
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2024 Outsrkem
  • 访问人数: | 浏览次数:

      请我喝杯咖啡吧~

      支付宝
      微信