On 6/4/20 12:30 PM, Andi Kleen wrote: > in your definition would > > echo -n foo > file > > (so no newline, but non zero length)
No, the file has zero length: $ echo -n >file $ ls -l file -rw-r--r-- 1 eggert eggert 0 Jun 4 13:24 file > have one or zero lines? Empty files have no lines. On 6/4/20 1:13 PM, Eric Blake wrote: > The most intuitive behavior is that grep behaves as if the file included the > trailing newline That's what grep does with files that end in a non-newline byte; such files are also not text files so POSIX does not specify the behavior. But grep, like other GNU tools, treats empty files as if they contain no lines; this matches most people's intuition.