GNU bug report logs - #16329
`head --lines=-0' prints nothing if no newline at the EOF

Previous Next

Package: coreutils;

Reported by: Алексей Шилин <rootlexx <at> mail.ru>

Date: Fri, 3 Jan 2014 16:31:01 UTC

Severity: normal

Merged with 16559, 16560, 16561

Done: Pádraig Brady <P <at> draigBrady.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Pádraig Brady <P <at> draigBrady.com>
To: Eric Blake <eblake <at> redhat.com>
Cc: 16329 <at> debbugs.gnu.org, Алексей Шилин <rootlexx <at> mail.ru>
Subject: bug#16329: `head --lines=-0' prints nothing if no newline at the EOF
Date: Fri, 03 Jan 2014 17:02:47 +0000
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 174 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.