首页 > 解决方案 > 如何使用 shell 脚本和匹配表达式替换文件中的子字符串?

问题描述

我需要替换 CoffeeScript 文件中的特定字符串。该文件包含以下值:

  version                : '1.3.3.1204.0'
  buildVersion           : '1.3.3.1204.4'

使用 shell 脚本,我想替换引号内的值,仅此而已。请注意,名称和之间可以有 X 个空格

期望的输出:

  version                : '2.0.0.0101.0'
  buildVersion           : '2.0.0.0101.1'

标签: sh

解决方案


使用

$ sed "s@'1\.3\.3\.1204\.0'@'2.0.0.0101.0'@;\
       s@'1\.3\.3\.1204\.4'@'2.0.0.0101.1'@" file

 输出

  version                : '2.0.0.0101.0'
  buildVersion           : '2.0.0.0101.1'

 笔记

-i如果要即时更换,请添加开关


推荐阅读