GNU bug report logs -
#16329
`head --lines=-0' prints nothing if no newline at the EOF
Previous Next
Full log
Message #14 received at 16329 <at> debbugs.gnu.org (full text, mbox):
On 01/03/2014 04:57 PM, Eric Blake wrote:
> On 01/03/2014 08:50 AM, Алексей Шилин wrote:
>> Hi,
>>
>> If one runs `head --lines=-0 somefile', he'll sometimes get no output instead of full file contents as
>> expected after reading the manual:
>>
>> -n, --lines=[-]K
>> print the first K lines instead of the first 10; with the lead‐
>> ing `-', print all but the last K lines of each file
>>
>> It depends on whether the file has a trailing newline.
>
> Per POSIX, 'head' is only required to operate on "text files"
> http://pubs.opengroup.org/onlinepubs/9699919799/utilities/head.html
> and a "text file" must either be empty or have a trailing newline:
> http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_397
>
> So this is not necessarily a bug. That said, since POSIX doesn't
> specify what we should do, we are free to make it behave differently.
BTW I still don't think POSIX is specifying that text files without
a trailing newline are not text files.
It states that text files can have zero or more lines,
implying that the trailing new line is optional.
thanks,
Pádraig.
This bug report was last modified 11 years and 175 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.