Re: Some question regarding tail and option "-c" (original) (raw)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
From: | Jim Meyering |
---|---|
Subject: | Re: Some question regarding tail and option "-c" |
Date: | Wed, 03 Oct 2012 20:09:26 +0200 |
Robert Milasan wrote:
On Wed, 3 Oct 2012 11🔞59 -0600 "Bob Proulx" <address@hidden> wrote:
> What version of tail are you using? > > tail --version > > I think the easiest way to see what is happening at run time is to use > strace. Install it if you don't have it. Then run: > > cat /etc/passwd | strace -v -o tail.strace tail -c 10 > > That should produce about a 14K output file with all of the system > calls logged. >
# tail --version tail (GNU coreutils) 8.16
# cat /etc/passwd | strace -v -o tail.strace tail -c 10 tail: cannot open ‘10’ for reading: No such file or directory
I can reproduce that by specifying an older version of POSIX:
$ : | _POSIX2_VERSION=0 tail -c 10
tail: cannot open '10' for reading: No such file or directory
Depending on how your version of tail was compiled, that may be the default behavior, or it may be due to however your _POSIX2_VERSION envvar is set.
There is some documentation on the effects of that variable in "info coreutils":
2.13 Standards conformance
==========================
In a few cases, the GNU utilities' default behavior is incompatible
with the POSIX standard. To suppress these incompatibilities, define
the `POSIXLY_CORRECT' environment variable. Unless you are checking
for POSIX conformance, you probably do not need to define
`POSIXLY_CORRECT'.
Newer versions of POSIX are occasionally incompatible with older
versions. For example, older versions of POSIX required the command
`sort +1' to sort based on the second and succeeding fields in each
input line, but starting with POSIX 1003.1-2001 the same command is
required to sort the file named `+1', and you must instead use the
command `sort -k 2' to get the field-based sort.
The GNU utilities normally conform to the version of POSIX that is
standard for your system. To cause them to conform to a different
version of POSIX, define the `_POSIX2_VERSION' environment variable to
a value of the form YYYYMM specifying the year and month the standard
was adopted. Three values are currently supported for
`_POSIX2_VERSION': `199209' stands for POSIX 1003.2-1992, `200112'
stands for POSIX 1003.1-2001, and `200809' stands for POSIX 1003.1-2008.
For example, if you have a newer system but are running software that
assumes an older version of POSIX and uses `sort +1' or `tail +10', you
can work around any compatibility problems by setting
`_POSIX2_VERSION=199209' in your environment.
- Some question regarding tail and option "-c", Robert Milasan, 2012/10/03
- Re: Some question regarding tail and option "-c", Bob Proulx, 2012/10/03
* Re: Some question regarding tail and option "-c", Robert Milasan, 2012/10/03
* Re: Some question regarding tail and option "-c",Jim Meyering <=
* Re: Some question regarding tail and option "-c", Robert Milasan, 2012/10/04
* Re: Some question regarding tail and option "-c", Jim Meyering, 2012/10/04
* Re: Some question regarding tail and option "-c", Robert Milasan, 2012/10/04
* Re: Some question regarding tail and option "-c", Jim Meyering, 2012/10/04
* Re: Some question regarding tail and option "-c", Philipp Thomas, 2012/10/05
* Re: Some question regarding tail and option "-c", Philipp Thomas, 2012/10/08
* Re: Some question regarding tail and option "-c", Jim Meyering, 2012/10/09
- Re: Some question regarding tail and option "-c", Bob Proulx, 2012/10/03
- Prev by Date:Re: Some question regarding tail and option "-c"
- Next by Date:Re: Some question regarding tail and option "-c"
- Previous by thread:Re: Some question regarding tail and option "-c"
- Next by thread:Re: Some question regarding tail and option "-c"
- Index(es):