저는 OSX 터미널을 사용하고 있으며 정규식을 통해 로그 파일의 지정된 텍스트를 추출하려고 합니다.
awk 버전은
GNU Awk 4.2.1, API: 2.0 (GNU MPFR 4.0.1, GNU MP 6.1.2)
Copyright (C) 1989, 1991-2018 Free Software Foundation.
내가 시도한 것은
$gawk '/123/ BEGIN{RS="DEBUG"; FS="\n"}{print $0"\n"}END{}' ./app_108_utf8_T2.log > output.txt
하지만 어크는 말한다
gawk: cmd. line:1: /123/ BEGIN{RS="DEBUG"; FS="\n"}{print $0"\n"}END{}
gawk: cmd. line:1: ^ syntax error
awk가 오류를 보고하는 이유는 무엇입니까?
답변1
도망치고 싶어하는 것 같아
gawk 'BEGIN{RS="DEBUG"; FS="\n"} /123/{print $0"\n"}' ./app_108_utf8_T2.log > output.txt
BEGIN
프로세스가 시작될 때 실행할 명령 블록을 정의하고 /123/
"123" 정규식이 현재 줄과 일치할 때 실행할 명령 블록을 정의합니다. 단일 블록에 대해 두 가지를 모두 지정할 수는 없습니다.