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つの一致で停止する必要はまったくありません。