grep을 사용하여 첫 번째 항목만 찾으세요.

grep을 사용하여 첫 번째 항목만 찾으세요.

단어가 많은 파일이 있고 "xyz" 패턴이 있는 첫 번째 단어를 찾고 싶다고 가정해 보겠습니다. 같은 줄에 이 패턴이 포함된 단어가 여러 개 있으면 어떻게 되나요? -m일치하는 첫 번째 줄의 모든 단어를 반환합니다. grep 명령만 있으면 됩니다.

답변1

기본적으로 grep인쇄철사패턴과 일치하므로 패턴이 한 줄에 한 번 이상 나타나면 grep전체 줄이 인쇄됩니다.

이 플래그를 추가하면 모드 발생의 처음 7줄만 인쇄하도록 -m 7지시됩니다 .grep

따라서 원하는 대로 작동해야 합니다(아직 테스트하지 않았습니다).

grep -o -m 1 xyz myfile | head -1

-m편집: @Kusalananda가 지적했듯이 이 플래그가 꼭 필요한 것은 아니지만 이를 사용하면 전체 파일을 구문 분석할 필요가 없으며 특히 대용량 파일인 grep경우 결과가 더 빨리 출력됩니다 .myfile

답변2

귀하의 질문에 대한 답변은 grep 매뉴얼 페이지에 있습니다.

grep -m1 'searchstring' file_name

옵션 -m<number>이 핵심입니다. -m1첫 번째 일치 항목, -m2처음 2개 일치 항목 등만 표시됩니다.

관련 정보