![OSX 터미널에서 gawk(GNU awk)의 구문 오류를 해결하는 방법은 무엇입니까?](https://linux55.com/image/131209/OSX%20%ED%84%B0%EB%AF%B8%EB%84%90%EC%97%90%EC%84%9C%20gawk(GNU%20awk)%EC%9D%98%20%EA%B5%AC%EB%AC%B8%20%EC%98%A4%EB%A5%98%EB%A5%BC%20%ED%95%B4%EA%B2%B0%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
저는 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" 정규식이 현재 줄과 일치할 때 실행할 명령 블록을 정의합니다. 단일 블록에 대해 두 가지를 모두 지정할 수는 없습니다.