단어가 많은 파일이 있고 "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개 일치 항목 등만 표시됩니다.