2015-10-20 67 views
0

我們需要更改爲多個客戶端中API(A rails引擎)中方法的出現次數。不是一個美妙的地方。我想知道是否有更簡單的方法來做到這一點?我正在考慮使用正則表達式,但是新的命令可能會拋出這種方法。更改多個客戶端中的rails引擎方法名稱

基本上

retention.group_by('bla').count 

需要改變,以

retention.group_by('bla').size 

這僅適用於由GROUP_BY返回的對象,也有其他對象計數的其他事件不應該被改變

回答

1

這是你正在尋找的正則表達式:(\.group_by\(.+\)\.)(count)。 然後你需要用"$1size"替換你的匹配。

申請在bash的文件「my_file」替換:

sed -i "s/(\.group_by\(.+\)\.)(count)/$1size/g" my_file 

(我真的不知道有關bash的語法,但我很肯定的正則表達式本身)

編輯:爲確保不符合任何count_unique,您可以使用(\.group_by\(.+\)\.)(count)([^_])$1size$3更換

+0

獎金標記如何從結果中排除count_unique?它被錯誤地更改atm –

+1

我編輯我的答案寫一個正則表達式,確保你不匹配'count'後的'count' – Caillou

0

紅寶石礦查找和使用正則表達式來救援取代

enter image description here