grep: 파이프를 사용할 때 대용량 파일에 대해 메모리가 소모됨

grep: 파이프를 사용할 때 대용량 파일에 대해 메모리가 소모됨

grep파이프를 사용하지 않고 특정 바이트를 찾으려고 하면 다음과 같은 출력이 표시됩니다.

$ grep -aboP "\\x55" bigfile
510:U
1049086:U
1049598:U

그러나 파이프를 통해 스키마를 제공하면 메모리 소모 오류가 발생합니다.

$ echo "\\\\x55" | grep -aboPf - bigfile
grep: memory exhausted

왜 이런 일이 발생하며 어떻게 작동하게 합니까?

답변1

글쎄, 작은 따옴표를 사용하고 일부 백슬래시를 제거하면 작동하는 것 같습니다.

$ echo '\x55' | grep -aboPf - bigfile
510:U
1049086:U
1049598:U

팁을 주신 @StéphaneChazelas에게 감사드립니다.

관련 정보