2

find コマンドを使用してファイル内の文字列を検索し、検索結果と一致行の数を同時に表示したい。

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

find . -name .history  | xargs grep ls

出力は

ls -r
ls -R
ls

私が期待する出力は次のようなものです

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

期待される出力を取得するにはどうすればよいですか?

4

2 に答える 2

2
.... | awk '{ a+=1; print} END { print "total match number: " a}'
于 2012-05-03T05:39:55.410 に答える
1

awk を使用しない代替手段は次のとおりです。

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

出力と数を提供します。テキストも本当に必要な場合:

| tee >(cat) >(echo "total match number: "`wc -l`);
于 2012-05-03T06:02:09.460 に答える