coreutils
[Top][All Lists]
Advanced

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

Re: md5sum outputs '-' when using stdin


From: Stephane Chazelas
Subject: Re: md5sum outputs '-' when using stdin
Date: Sun, 25 Aug 2019 21:03:33 +0100
User-agent: NeoMutt/20171215

2019-08-23 10:41:01 +0100, address@hidden:
[...]
> $ echo 'hello world' | md5sum
> 6f5902ac237024bdd0c176cb93063dc4  -
> 
> What's use is the '-'?
> 
> Obviously it indicates the file content it taken from the
> standard input, but is that of any actual use?
[...]

It is used by md5sum -c.

$ echo test | md5sum | tee s
d8e8fca2dc0f896fd7cb4cb0031ba249  -
$ echo test | md5sum -c s
-: OK

Having said that, it's far less common a usage pattern than doing:

sum=$(md5sum < file)

And I agree it is annoying having to strip that "-".

It's the same kind of "annoying" as the

length=$(wc -c < file)

That has blanks around the number in many wc implementations and
which GNU wc fixed.

FWIW, the ast-open implementation of "wc" doesn't output that
"-" and doesn't treat "-" as meaning stdin. If you want to
"md5sum -c" stdin there, you need to use "/dev/stdin" instead of
"-".

I'd rather GNU md5sum only output "-" when "-" is passed on the
command line.

Maybe --quiet could be used to skip outputting file names.

-- 
Stephane




reply via email to

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