2012-02-27 120 views
1

我正在PHP中使用Symfony2進行開發,我希望在我的不同樹枝視圖中查找所有的翻譯密鑰,以便輕鬆地將它們列在我的消息文件中。在多個文件中查找特定模式

基本上,我的樹枝模板,翻譯的鍵/文本看起來像:

{{ "my text" | trans }} or {{ "my_key" | trans }} or {{"my_key"|trans}} or {{"my text"|trans}} 

我想運行一個腳本.SH,可以列出所有這些鍵/文在我的不同被翻譯模板文件。

在另一個項目中,我不得不找出像郎(「MY_KEY」)和工作幾乎是一個命令是以下之一:

find . -type f -name '*.php' -execdir egrep -o -- "->lang\('[^']*" {} \; | sed -e "s/^.*->lang('//g" 

也許與此相同的基礎,我怎麼能輕易找到我的文件中有不同的翻譯?

Thx很多爲您的幫助!

回答

1

我會建議一些find . -type f -name '*.php' | xargs egrep -Ho '\{\{[^|]*\|[^}]*\}\}'的曲調。這將允許您在特定文件中查找密鑰/文本對的出現次數。一旦你有了這個清單,你可以進一步處理它,如果你想規範使用並以某種方式符合例如{{ "my text" | trans }}{{ "my_key" | trans }}一起作爲同一個關鍵的不同用途(我不知道交響樂,所以我不知道這是否真的是等效的,如果這種'崩潰'的關鍵是有道理的)。

+0

耶,看起來不錯!我怎麼才能得到{{}}內容,獲取文件並不重要,並迫使我做更多的處理:) #thx! – guillaumepotier 2012-03-01 09:46:45

+0

不錯,我發現,使用我以前的命令和你的右邊模式。 Thx老兄! – guillaumepotier 2012-03-01 09:48:55

+0

哼哼,現在用我的命令:find src/-type f -name'* .twig'-execdir egrep -o - 「\ {\ {[^ |(){] * \ | [(trans)^}] * \} \}「{} \; | sed's/\([a-z] * \)。*/\ 1 /'我得到了{{「我的whith'引用'trans'內部| trans}}或{{'my other trans'| trans}}。如何只得到什麼insinde「或」「?謝謝! – guillaumepotier 2012-03-01 11:06:25

相關問題