검색어의 줄번호는 어떻게 볼 수 있나요?

검색어의 줄번호는 어떻게 볼 수 있나요?

output.txt146만 행의 데이터가 포함된 텍스트 파일이 있다고 가정해 보겠습니다 .

27QL파일에서 텍스트를 검색하고 싶습니다.

텍스트가 존재하는 경우 Linux는 줄 번호를 반환해야 합니다.

어떻게 해야 하나요?

나는 그것을 사용할 수 있습니까 grep? 그렇다면 어떻게?

답변1

유틸리티 에는 패턴과 일치하는 행 번호를 grep일반 출력 앞에 추가하는 표준 옵션이 있습니다 . 줄 번호와 줄 내용은 콜론으로 구분됩니다.-ngrep

grep -n -F -w '27QL' file

여기서는 완전한 단어만 검색하기 위해 비표준 -w옵션도 사용했습니다. 즉, 127QL또는 와 일치하지 않습니다 27QLA. 작성자-Fgrep정규 표현식보다는

출력에서 실제 데이터를 제거하려면(즉, 줄 번호만 추출) 출력을 다음으로 전달합니다 cut.

grep -n -F -w '27QL' file |
cut -d : -f 1

답변2

다음을 사용할 수도 있습니다 sed.

sed -n '/27QL/=' infile

sed의 스위치 -n는 자동 기본 인쇄 작업이며 =로그인 후 /pattern/=매트 모드의 줄 번호만 인쇄됩니다 .


awk/보다 더 강력한 텍스트 처리 도구를 사용하더라도 :grepsed

awk '/27QL/{ print NR }' infile

NRawk로 표현질소수량오른쪽기록.

관련 정보