2017-10-08 3 views
0

나는 gawk에 익숙하지 않아 .po 파일을 사용하여 번역기를 만들려고합니다. quota_by_role.module : Gawk [일치하는/단어/(getline을 사용하지 않음) 후 인쇄 라인

와 .po 파일 안에 무엇의 예입니다. "할당량 삭제"73

MSGID가

"msgstr"할당량 제거. "

나는 이것을 생각해 냈습니다. 기본적으로 일치하는 단어가있는 행의 다음 행을 인쇄합니다.

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

결과 그것은 잘 작동

word_to_translate : something_in_other_language. 

될 것입니다,하지만 난 "의 getline"를 사용하지 않고이 일을 다른 방법이 있는지 알고 싶습니다. grep를 사용

답변

0
awk -F'"' '{ if (found){print;exit} } 
      $2 ~ /word-to-translate/{ found=1 }' 
0

:

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

은 "일치하는 단어"가 라인의 다음 줄을 인쇄합니다.