gpt4 book ai didi

ruby-on-rails - 在 sed 之后更改并应用文本 .first

转载 作者:太空宇宙 更新时间:2023-11-04 09:36:28 24 4
gpt4 key购买 nike

我目前正在将 Rails 2.3 应用程序升级到 Rails 3.2。我已经使用 sed 将 certian 文本替换为所有文件,但如何在 sed 之后追加?

User(anymodel).find(:first, options)

更改为:

User(anymodel).where(options).first

我如何使用 sed 实现这一点?

最佳答案

我想你想要这样的东西,

sed 's/^\(User\.\)[^(]*(:\([^,]*\), \(.*\)$/\1where(\3.\2/'

例子:

$ echo 'User.find(:first, :condition => {:is_used => 1 })' | sed 's/^\(User\.\)[^(]*(:\([^,]*\), \(.*\)$/\1where(\3.\2/'
User.where(:condition => {:is_used => 1 }).first

更新:

$ echo '<% User(anymodel).find(:first, options) %>' | sed 's/^\(<% *User[^.]*\.\)find(:\([^,]*\), \(.*\)\( \+%>\)$/\1where(\3.\2\4/'
<% User(anymodel).where(options).first %>

关于ruby-on-rails - 在 sed 之后更改并应用文本 .first,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26029721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com