2012-05-03 7 views
2

findコマンドを使用してファイル内の文字列を検索し、検索結果と一致行の数を同時に表示したいとします。シェルの検索結果と一致番号の出力方法は?

たとえば、次のコマンドを使用して検索結果を取得できますが、一致した結果の数がわかりません。

find . -name .history | xargs grep ls 

出力は、私は、出力がこの

ls -r 
ls -R 
ls 
total match number: 3 

どのように私は私の期待する出力を得ることができるようなもので何を期待

ls -r 
ls -R 
ls 

のですか? awkをなし

答えて

2
.... | awk '{ a+=1; print} END { print "total match number: " a}' 
+0

なぜNRを使用しないのですか? ... | 'awk '{print} END {全一致番号:" NR} " – dpp

+0

確かに、それも機能します。 –

1

選択肢は次のとおりです。

| tee >(cat) >(wc -l) 

あなたに出力し、番号を与えるために。あなたが本当にテキストをしたい場合:

| tee >(cat) >(echo "total match number: "`wc -l`);