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 に答える