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.