次の種類のテキストがあります。
$OU = 'or';
$DINHEIRO_CAIXA = 'Cash balance';
$PAGINA = 'Page';
$DE = 'from';
$ENVIAR = 'Send';
$PRINCIPAL = 'Main';
すべてのテキストを一重引用符で囲んで使用しました。
cat arquivo | grep -oP "'[^']+'" | tr -d "'"
抽出されたテキストはポルトガル語に翻訳されていますが、一重引用符の間にある元のテキストを翻訳されたテキストに置き換える方法がわかりません。次のようなものを探しています。
$OU = 'ou';
$DINHEIRO_CAIXA = 'Dinheiro em caixa';
$PAGINA = 'Pagina';
$DE = 'de';
$ENVIAR = 'enviar';
$PRINCIPAL = 'Principal';
ファイルの置き換え自体を試しましたが、grep -F
パターンが一致しなかったため失敗し、新しいファイルに引用符がないため、これを行う方法はありますか?
答え1
使用awk
:
awk -F\' '
{ getline translate_text <"trans_file";
print $1, translate_text, $3;
}' OFS=\' original_file
original_file
元のファイルです。trans_file
翻訳されたソースファイルの形式は次のとおりです。
ou
Dinheiro em caixa
Pagina
de
enviar
Principal