2013-10-07 3 views
1

Я использую OS X, необходимо заменитьКак это можно заменить с помощью sed?

[self.lang getAppLanguageString:@"foo bar"] 

в

LocalizedString(@"foo bar", nil) 

Я использую СЭД, как ниже:

sed -i '' s/[self\.lang getAppLanguageString:@"([a-zA-Z]+)"]/LocalizedString(@"\1", nil)/g somefile 

, но не работает, как я могу это сделать ?

ответ

1

Вы уже выбрали . в шаблоне, но также необходимо избежать [ и ].

Try:

sed -i 's/\[self\.lang getAppLanguageString:@\("[^"]*"\)\]/LocalizedString(@\1, nil)/' somefile 
+0

Ваш код отлично работает, спасибо большое! – bitshine

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