2010-01-20 2 views
0

Я пытаюсь написать сценарий sh для создания приложений с рельсами, однако из-за разных конфликтов мне нужно изменить файл environment.rb, чтобы прокомментировать версию rails. Итак, мой вопрос: как мне было «#» на строку 8 environment.rb?Как modfiy environment.rb через sh скрипт? (т. е. изменить строку в файле через скрипт?)

ответ

2

Есть много способов, но СЭД является первым молотком, который пришел на ум:

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

Или даже в рубине:

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

+1 для 'sed' решения. –

+0

Рубиновый код работал отлично, спасибо! –

+0

У меня есть другой подобный вопрос. Я пытаюсь добавить config.gem "newrelic_rpm" Однако двойные кавычки дают мне проблемы. Какие-либо предложения? –

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 
+0

Это отличное спасибо! –

Смежные вопросы