grepおよびwcコマンドを使用したトラブルシューティング

grepおよびwcコマンドを使用したトラブルシューティング

file.txt少なくとも1つ以上の数字を含む行数を計算する方法を見つけようとします。

これまで行数が計算されると思います。

wc -l filename.txt

その後、このコマンドは、1つ以上の数字を含むすべての行をgrep表示すると思いました。file.txt

grep -E '[0-9]+' list.txt

私の質問に対する答えを見つけるためにそれらをどのように組み合わせることができますか?

答え1

努力する

grep -c -E '[0-9]+' list.txt

どこ

  • -c は数を表します。

答え2

grep -c \[0-9] <infile

...それだけでいいです。

答え3

これを使用してください:

grep -rlZ '[0-9]' . | xargs -0 wc -l
  • grepwith は-r現在のディレクトリ内のすべてのファイルを再帰的に検索します。
    • -l1つ以上の一致ファイルのみを印刷する
    • -Z特殊ファイル名を処理するためにヌルバイトで区切られたファイル名を印刷します。
    • '[0-9]'ファイルから数値を検索
  • xargs -0grepヌルバイトで区切られたファイルのリスト(生成されたファイルから)を読み取ります。
    • wc -lそしてwc -l行を数えてください。

出力例:

 3 ./file1
 6 ./dir/file2
 9 total

関連情報