如何通过sh脚本修改environment.rb? (即通过脚本修改文件中的行?)

时间:2010-01-20 10:14:44

标签: ruby-on-rails shell

我正在尝试编写一个sh脚本来制作rails应用程序,但是由于冲突的不同,我需要修改我的environment.rb文件以注释掉rails版本。所以我的问题是如何在环境的第8行找到'#'?

2 个答案:

答案 0 :(得分:2)

有很多方法,但是sed是第一个浮现在脑海中的锤子:

sed 's/^\(RAILS_GEM_VERSION.*\)$/# \1/' -i '.backup' config/environment.rb

甚至在红宝石中:

ruby -pi  -e 'print "# " if $_ =~ /^RAILS_GEM_VERSION/' config/environment.rb

答案 1 :(得分:1)

评论第8行

awk 'NR==8{$0="#"$0}1' config/environment.rb >temp
mv temp config/environment.rb 

使用RAILS_GEM_VERSION评论行

awk '/RAILS_GEM_VERSION/{gsub(/^RAILS_GEM_VERSION/,"#RAILS_GEM_VERSION") }1' config/environment.rb >temp
mv temp config/environment.rb

并根据您要添加config.gem“newrelic_rpm”的位置,假设您要在文件末尾添加,则只需使用>>

echo 'config.gem="newrelic_rpm"' >> config/environment.rb