我有以下类型的文本:
$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
您翻译的original_file 格式如下:
ou
Dinheiro em caixa
Pagina
de
enviar
Principal