[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#16329: `head --lines=-0' prints nothing if no newline at the EOF
From: |
Pádraig Brady |
Subject: |
bug#16329: `head --lines=-0' prints nothing if no newline at the EOF |
Date: |
Fri, 03 Jan 2014 16:45:07 +0000 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 |
On 01/03/2014 03:50 PM, Алексей Шилин 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.
>
> For example:
>
> $ printf '1\n2\n3' > test1
> $ printf '4\n5\n' > test2
> $ head -n -0 test*
> ==> test1 <==
>
> ==> test2 <==
> 4
> 5
> $ tail -n +0 test* # Just for comparison
> ==> test1 <==
> 1
> 2
> 3
> ==> test2 <==
> 4
> 5
> $
>
> I'm using Debian GNU/Linux 7 wheezy and coreutils-8.13; I've also tested
> coreutils-8.22, and it has the
> same issue.
>
> A proposed patch fixing the bug is attached. It makes head behave exactly
> like `tail -n +0' on same files.
>
Thanks for the clear reproducer and patch.
I'll probably apply this in your name with a test.
thanks!
Pádraig.