awk [ 匹配后打印行 /word/ (不使用 getline )

Gawk [ Print Line After A Matching /word/ ( not using getline )

我是 gawk 的新手,我正在尝试使用 .po 文件制作一个翻译器。

这是 .po 文件中的示例

: quota_by_role.module:73

msgid "Quota deleted."

msgstr "Quota removida."

我想到了这个。它基本上打印了有匹配词的行的下一行。

awk -F'"' 'match(, /^word_to_translate$/) {printf "%s", ": ";getline; print }' translator.po translator2.po

结果会是

word_to_translate : something_in_other_language.

它工作正常,但我想知道是否有不使用“Getline”的替代方法。

使用grep:

 grep -A1 "matching-word"  filename |grep -v "matching-word" 

将打印具有 "matching-word".

的行的下一行
awk -F'"' '{ if (found){print;exit} }
            ~ /word-to-translate/{ found=1 }'