mysql binlog에서 특정 쿼리를 뽑으려고 합니다.
php에서 preg_match를 사용해서는 잘 되는데, php를 사용할수 없고 grep를 사용해야합니다.
php에서는
/SELECT (?s).+\/\*!\*\/;/iU
형태입니다.
중요한게 마지막 U(non-greedy)인데 이걸 grep에서 어떻게 표현해야 될지 모르겠네요
grep에서는
grep -Pi 'SELECT (?s).+(/\*!\*/;)?' binlog.txt
grep -Pi 'SELECT (?s).+(/\*!\*/;)*?' binlog.txt
grep -Pi 'SELECT (?s).+(/\*!\*/;){1}?' binlog.txt
grep -Pi 'SELECT (?s).+(/\*!\*/;)+?' binlog.txt
와 같이 했봤는데 non-greedy가 먹히지 않네요.
어떻게 하면 php와 같은 결과를 뽑을 수 있을까요?