![シェルコマンドを使用してパターンに一致する行の行番号を印刷するにはどうすればよいですか? [コピー]](https://linux33.com/image/71645/%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%81%AB%E4%B8%80%E8%87%B4%E3%81%99%E3%82%8B%E8%A1%8C%E3%81%AE%E8%A1%8C%E7%95%AA%E5%8F%B7%E3%82%92%E5%8D%B0%E5%88%B7%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
文書、
.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
多くのツールが便利です。
-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/:/'