패턴 파일 grep의 출력은 패턴 파일의 패턴 순서에 따라 달라지나요?

패턴 파일 grep의 출력은 패턴 파일의 패턴 순서에 따라 달라지나요?

저는 Mac OS X를 사용하고 있기 때문에 UNIX와 결과가 이상하게 보입니다.

두 개의 스키마 파일이 있습니다.

파일 1

PAMR1
PAM

파일 2

PAM
PAMR1

다른 파일을 실행하면 grep -w -f my_file results.csv다른 결과가 생성됩니다.

grep -w -f file2 file2반품:

PAM

하지만 grep -w -f file1 file2다음을 반환합니다.

PAM
PAMR1

여기서 무슨 일이 일어나고 있는 걸까요?

답변1

grep의 출력은 일치하는 줄 부분을 식별하는 대신(예: -oor --color옵션 사용) 전체 줄을 출력하도록 grep에 요청하는 한 파일의 패턴 순서에 의존하지 않습니다.

grep에 오류가 없는 한 그렇습니다. 확인됨산딥주석에는 FreeBSD/macOS의 grep에 파일에서 앞에 다른 패턴이 접두사로 붙으면 패턴이 누락되는 버그가 있습니다.

관련 정보