web-dev-qa-db-ja.com

シェルコマンドを使用して、パターンに一致する対応する行を含む行番号を印刷する方法

ファイル、

.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

ここで、出力ファイルでWord 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
9
pmaipmui

多くのツールが便利です。

  • -n of 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/:/'
    
18
jimmij