Var*_*tel 3 regex unix linux bash sed
我有一个属性文件如下:
build.number=153013
db.create.tablespace=0
db.create.user=0
db.create.schema=0
upgrade.install=1
new.install=0
configure.jboss=0
configure.jbosseap=false
configure.weblogic=1
configure.websphere=0
Run Code Online (Sandbox Code Playgroud)
我需要将这些变量导入到 shell 脚本中。如你所知, '。' 不是在 Linux 中用作变量的有效字符。我将如何使用 sed 替换所有出现的 '.' 在 '=' 之前加 '_' 。我已经替换了所有出现的“.” 但有些属性的值包含“.” 我不想修改。
任何帮助表示赞赏!
谢谢!
您可以使用
sed -e ':b; s/^\([^=]*\)*\./\1_/; tb;'
Run Code Online (Sandbox Code Playgroud)
只要匹配成功,它就会替换stringWithoutEquals.为for。stringWithoutEquals_实际上,这将替换所有.前面=的_。