次のような内容の PO ファイルがあります。
msgid "or"
msgstr "or-translation"
msgid "orand"
msgstr "orand-translation"
特定の msgid の翻訳を取得する必要があります。コマンド「msggrep -K -e 'orand' template2.pot」を使用すると、「orand」の翻訳が得られます。これで問題ありません。
しかし、「msggrep -K -e 'or' template2.pot」を使用すると、両方の翻訳 ('or' と 'orand') が返されます。コマンド "msggrep -K -e '^or' template2.pot" は期待どおりに機能し、両方の翻訳を返しますが、"msggrep -K -e '^or' template2.pot" は何も返さないため失敗します。「$」文字が msggrep 正規表現パーサーを壊すようです。
他の msggrep フラグ (-F、-E など) を試してみましたが、それらはすべてファイルからテスト パターンを読み取るため、実際のニーズには受け入れられません。私は msggrep 0.14.6 を使用しています (そして、より新しいライブラリに更新することはできません)。
msggrep を使用して「orand」の翻訳を取得する方法を誰かが知っていますか?