我在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做到这一点?我仍然不能用正则表达式得到它并且已经...:S
答案 0 :(得分: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