GNU/Linux >> Tutoriels Linux >  >> Linux

Comment compter le nombre de lignes dans un fichier après une correspondance Grep ?

J'essaie de compter le nombre de lignes après une ligne problématique dans un fichier csv. Je sais que je peux utiliser le grep -a # syntaxe pour afficher # nombre de lignes après qu'une correspondance a été trouvée. Seul le nombre réel de lignes m'intéresse. Je me rends compte que je pourrais définir le nombre sur MAX_INT, le diriger dans un fichier et effectuer un traitement supplémentaire.

Je cherche une ligne succincte pour juste me dire le compte.

Des suggestions ?

Réponse acceptée :

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

Cela fonctionnera avec GNU grep et un lseek() infile capable. Le premier grep s'arrêtera à 1 -m atch, et le second sera -c compter chaque ligne restante en entrée.

Sans GNU grep :

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

Bien sûr, avec grep vous pouvez utiliser toutes ses autres options en plus, et s'arrêter à un match n'est pas du tout nécessaire.


Linux
  1. Comment trouver le nombre de lignes verticales disponibles dans le terminal ?

  2. Compter les lignes dans un fichier ?

  3. Comment compter le nombre de lignes dans un fichier sous Linux (exemples de commandes wc et nl)

  4. Comment limiter le nombre de résultats renvoyés par grep ?

  5. Comment obtenir uniquement le nombre de lignes d'un fichier

Comment compter les occurrences de mots dans un fichier texte

5 façons de compter le nombre de lignes dans un fichier

Comment utiliser les lignes d'un fichier comme arguments d'une commande ?

Comment grep pour le contenu après le modèle?

Comment grep \n dans le fichier

Comptez le nombre de caractères, de mots et de lignes dans PowerShell