OSX端末でgawk(GNU awk)の構文エラーを解決するには?

OSX端末でgawk(GNU awk)の構文エラーを解決するには?

私は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」正規表現が現在の行と一致するときに実行するコマンドブロックを定義します。単一ブロックに対して両方を指定することはできません。

おすすめ記事