[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#35337: Document the recommended way to get the :0s out of -c output

From: 積丹尼 Dan Jacobson
Subject: bug#35337: Document the recommended way to get the :0s out of -c output
Date: Sat, 20 Apr 2019 20:13:23 +0800

Boy they really blew it when they invented -c,
   (info "(grep) General Output Control")

       Suppress normal output; instead print a count of matching lines for
       each input file.  With the ‘-v’ (‘--invert-match’) option, count
       non-matching lines.  (‘-c’ is specified by POSIX.)

Who in the world ever wants to know about the zero match counts (:0)? ;-)
OK, well then add some extra switch for the rest of us... or at least the INFO
page should mention how the pros filter them out.

time find * -name \*.html | xargs grep -l staticmap | xargs grep -c staticmap | 
head -n 3

real    0m0.015s
user    0m0.013s
sys     0m0.002s

time find * -name \*.html | xargs grep -c staticmap | grep -v :0$   | head -n 3

real    0m0.017s
user    0m0.011s
sys     0m0.004s

(#1 is a big waste, but the real time is randomly a little shorter, as
it takes larger inputs so really see the difference.)

Anyway I've never ever wanted the :0s.

Wait! Maybe "-cl" or "-lc" will give us what we want!
Alas, they are just equivalent to "-l".
(As I suppose that fact is not documented, perhaps it could be given a
new (non-backwardly compatible, alas) definition...)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]