GNU bug report logs - #10976
bugreport tail (GNU coreutils) 5.97

Previous Next

Package: coreutils;

Reported by: Streit Andreas <streit <at> heidenhain.de>

Date: Fri, 9 Mar 2012 07:55:01 UTC

Severity: normal

Tags: notabug

Done: Eric Blake <eblake <at> redhat.com>

Bug is archived. No further changes may be made.

Full log


Message #7 received at control <at> debbugs.gnu.org (full text, mbox):

From: Eric Blake <eblake <at> redhat.com>
To: Streit Andreas <streit <at> heidenhain.de>
Cc: 10976-done <at> debbugs.gnu.org
Subject: Re: bug#10976: bugreport tail (GNU coreutils) 5.97
Date: Fri, 09 Mar 2012 10:56:22 -0700
[Message part 1 (text/plain, inline)]
tag 10976 notabug
thanks

On 03/09/2012 12:47 AM, Streit Andreas wrote:
> Hi,
> 
> i just tried the following command with more than one file:
> 
> tail -50 files_*.txt
> i get an error:
> tail: invalid option -- 5
> Try `tail --help' for more information.

Thanks for the report.  However, this behavior is intentional.  POSIX
says that you should be using -n50, and that while implementations may
support -50 as an extension, it is not a requirement.  Your usage is
non-portable, and coreutils is alerting you to the fact.

Per 'info tail',

>>    For compatibility `tail' also supports an obsolete usage `tail
>> -[COUNT][bcl][f] [FILE]', which is recognized only if it does not
>> conflict with the usage described above.  This obsolete form uses
>> exactly one option and at most one file.  In the option, COUNT is an
>> optional decimal number optionally followed by a size letter (`b', `c',
>> `l') to mean count by 512-byte blocks, bytes, or lines, optionally
>> followed by `f' which has the same meaning as `-f'.
>> 
>>    On older systems, the leading `-' can be replaced by `+' in the
>> obsolete option syntax with the same meaning as in counts, and obsolete
>> usage overrides normal usage when the two conflict.  This obsolete
>> behavior can be enabled or disabled with the `_POSIX2_VERSION'
>> environment variable (*note Standards conformance::).

> If i try the same command with only one file it works properly:
> tail -50 files.txt

Yes, this is an example of the obsolete usage.

> 
> If i try the modified command with more than one file it works properly:
> tail --lines=50 files_*.txt

Yes, this is the preferred style (simplified to -n).

Since the behavior is intentional, I'm closing this as not a bug.

-- 
Eric Blake   eblake <at> redhat.com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

[signature.asc (application/pgp-signature, attachment)]

This bug report was last modified 13 years and 72 days ago.

Previous Next


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