bug#78910: tail does not support -r added by POSIX.1-2024

Collin Funk <[email protected]>
Newsgroups gmane.comp.gnu.core-utils.bugs
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.