GNU bug report logs -
#78910
tail does not support -r added by POSIX.1-2024
Previous Next
Full log
View this message in rfc822 format
On 27/06/2025 06:36, Collin Funk wrote:
> Creating this bug report since I have not been able to create a working
> implementation yet, and perhaps my looking into this will inspire others
> thoughts...
>
> POSIX-1.2024 adds the following SYNOPSIS for 'tail' [1]:
>
> tail [-f] [-c number|-n number] [file]
> tail -r [-n number] [file]
>
> Where the description for '-r' is:
>
> Copy the lines in reverse order (last line first). If -n is
> specified, that many lines of the file, starting with the last line,
> shall be copied. If -n is not specified, every line of the input
> file shall be copied.
>
> In a simple implementation of 'tail', one that allocates an array to
> store each line in memory, this would be easy to implement. However,
> the Coreutils version reads the file in BUFSIZE/getpagesize() chunks
> and then prints, repeating until completed. Therefore, we cannot just
> modify the existing code to swap lines in memory.
>
> Collin
>
> [1] https://pubs.opengroup.org/onlinepubs/9799919799/utilities/tail.html
tail -r comes from the BSDs.
Also the BSDs don't have tac(1) which overlaps in functionality quite a bit.
I'm a bit surprised -r was added by POSIX, but fair enough.
Thanks for flagging this.
Padraig
This bug report was last modified 38 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.