2012-02-27 3 views
1

私はPHPでSymfony2を開発しています。私のメッセージファイルにそれらを簡単に一覧表示するために、私の異なる翻訳ビューで翻訳キーをすべて探したいと思います。私は別のに変換するすべてのこれらのキー/テキストを一覧表示することができ.SHスクリプトを実行したいと思います複数のファイルで特定のパターンを見つける

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

基本的に、私の小枝テンプレートで、翻訳されたキーは、/テキストは次のようになりますテンプレートファイル。別のプロジェクトで

は、私はLANG(「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

+0

ニース、私は、私の前のコマンドと正しいパターンを使用して、見つかりました。 Thxよ! – guillaumepotier

+0

hum、今私のコマンドで:find src/-type f -name '* .twig' -execdir egrep -o - "\ {\ {(^ {(trans)^}] * \} \} "{} \; | sed 's/\([a-z] * \)。*/\ 1 /'私のwhithの引用符は 'trans'の中にあります。トランス}}または{{'私の他のトランス' |トランス}}。どのようにinsinde ''または ''だけを取得するには?どうも! – guillaumepotier

関連する問題