0

我在 RoR 项目的 config/application.rb 文件中有以下几行:

 [other lines that i omitted here]
 config.app_type= :rewards # :classic / :rewards
 config.app_prefix= '' # '$ ' for :classic  / '' for :rewards
 config.app_suffix= ' pts' # ' MXN', ' USD' for :classic / ' pts' for :rewards

我想用 sed 的脚本将文本更改为:

 [other lines that i omitted here]
 config.app_type= :classic # :classic / :rewards
 config.app_prefix= '$ ' # '$ ' for :classic  / '' for :rewards
 config.app_suffix= ' USD' # ' MXN', ' USD' for :classic / ' pts' for :rewards

我怎么能用 sed 做到这一点?,我仍然没有用正则表达式和 sed 得到它......:S

4

1 回答 1

1

这应该有效。为命令使用文件sed可以避免转义引号的混乱。

内容script.sed

s/^\( *config\.app_type= *:\)rewards/\1classic/
s/^\( *config\.app_prefix= *\)''/\1'$ '/
s/^\( *config\.app_suffix= *\)' pts'/\1' USD'/

像这样运行它:

sed -f script.sed infile

具有以下输出:

[other lines that i omitted here]
config.app_type= :classic # :classic / :rewards
config.app_prefix= '' # '$ ' for :classic  / '' for :rewards
config.app_suffix= ' pts' # ' MXN', ' USD' for :classic / ' pts' for :rewards
于 2012-07-16T19:02:01.330 回答