쉘 명령을 사용하여 패턴과 일치하는 해당 줄의 줄 번호를 인쇄하려면 어떻게 해야 합니까? [복사]

쉘 명령을 사용하여 패턴과 일치하는 해당 줄의 줄 번호를 인쇄하려면 어떻게 해야 합니까? [복사]

문서,

.false alarm is bla no. 11
.no alarm generated is bla
.application will be killed is bla wall command
.doc file is document file with .doc extension
.no authority for this selection bla

bla이제 단어 (또는 숫자도 포함) 만 포함된 출력 파일 행을 인쇄하고 싶습니다.

출력은 다음과 같습니다.

1 .false alarm is bla no. 11
2 .no alarm generated is bla
3 .application will be killed is bla wall command
5 .no authority for this selection bla

답변1

많은 도구가 편리합니다.

  • -nof가 grep바로 당신이 찾고 있는 것입니다.

    grep -n 'bla' file
    
  • 또는 awk:

    awk '/bla/{print NR":"$0}' file
    
  • 또는 perl:

    perl -ne 'print $.,":",$_ if /bla/' file
    
  • 또는 sed:

    sed '/bla/!d;=' file |sed 'N;s/\n/:/'
    

관련 정보