GNU/Linux >> Linux の 問題 >  >> Linux

Grep一致後のファイルの行数をカウントする方法は?

csvファイルの問題のある行の後の行数を数えようとしています。 grep -a #を使用できることを認識しています 一致が見つかった後に#行数を出力する構文。実際の行数だけに関心があります。数値をMAX_INTに設定し、それをファイルにパイプして、さらに処理を行うことができることに気付きました。

カウントを教えてくれる簡潔なワンライナーを探しています。

何か提案はありますか?

承認された回答:

{ grep -m1 match; grep -c ''; } <file

これはGNUgrepで機能します およびlseek() できるファイル。最初のgrep 1 -mで停止します atch、2番目は-c 入力に残っているすべての行を削除します。

GNU grepなし :

{ sed '/match/q'; grep -c ''; } <file

もちろん、grepを使用します 他のオプションのいずれか/すべてを使用でき、1つの一致で停止する必要はまったくありません。


Linux
  1. Grepを使用して発生の総数をカウントしますか?

  2. ファイルの行数を数えますか?

  3. ファイルの行をコマンドの引数として使用するにはどうすればよいですか?

  1. grep から返される結果の数を制限するにはどうすればよいですか?

  2. ファイルの行数だけを取得する方法

  3. ファイル内で \n を grep する方法

  1. PowerShell で文字数、単語数、行数を数える

  2. 一致する行数ではなく、grep を使用して一致の総数をカウントする

  3. 同じバイトをグループ化して、ファイル内のバイト数をカウントする方法は?