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