【发布时间】:2015-01-08 18:20:13
【问题描述】:
我有一个属性文件如下:
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
我需要将这些变量导入到 shell 脚本中。如你所知, '。'不是在 linux 中用作变量的有效字符。我将如何使用 sed 替换所有出现的“。”在 '=' 和 '_' 之前。我已经替换了所有出现的“。”但是有些属性的值包含“。”我不想修改。
感谢任何帮助!
谢谢!
【问题讨论】:
-
展示自己尝试过的东西很好,这样其他人就会看到您尝试过的东西,而不是简单地要求别人做您的工作——事实并非如此,对吧? :D
-
等号前是否总是至少有一个点?
-
这是我尝试过的:“sed 'y/./_/' $TEMP_FOLDER/$FILE_NAME_WITHOUT_MIME_TYPE/build.properties >> $TEMP_FOLDER/$FILE_NAME_WITHOUT_MIME_TYPE/build.properties.temp”跨度>
-
为什么“使用 sed”?你怎么知道
sed是适合这项工作的工具?我的第一直觉是使用本机 bash 参数扩展。也可以用 awk 来完成...很多不是 sed 的工具,还有很多可能的答案,你在没有任何明显原因的情况下排除了。 -
我不确定是不是这样。就我而言,为什么我会受益于 awk 而不是 sed 命令?