GNU bug report logs -
#46346
wc --human-readable or --verbose
Previous Next
Full log
View this message in rfc822 format
On 06/02/2021 13:38, 積丹尼 Dan Jacobson wrote:
> wc needs a --verbose option. Else one is forced to do:
>
> $ file=e.html; echo $file:; for i in bytes chars lines words; do echo -en $i:\\t; wc --$i < $file; done
> e.html:
> bytes: 31655
> chars: 29141
> lines: 643
> words: 1275
>
> I mean sometimes we want to send the output to a real person, and
> currently all wc makes is:
>
> $ wc e.html
> 643 1275 31655 e.html
> $ file=e.html; for i in bytes chars lines words; do wc --$i < $file; done
> 31655
> 29141
> 643
> 1275
>
> So there needs to be a --verbose or --human-readable like du(1)... oops
> I don't mean saying 234M... yet.
For standard text files, lines < words < bytes
so the counts would be apparent from their relative sizes.
But I agree it's not generally the case,
and also ambiguous as to whether it's chars or bytes by default (it's bytes),
So quite user unfriendly by default.
I see FreeBSD wc supports --libxo,
which supports json output which is a bit more general
and close to what you want:
https://juniper.github.io/libxo/libxo-manual.html
So for this example it would be:
$ wc --libxo json,pretty,warn e.html
{
"wc": {
"file": [
{
"lines": 643,
"words": 1275,
"bytes": 31655,
"filename": "e.html"
}
]
}
}
BTW I see that for FreeBSD's wc character and byte counts are mutually exclusive,
so they're always described as "characters" in the output, which is confusing I think.
cheers,
Pádraig
This bug report was last modified 3 years and 116 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.