coreutils/src/uu/tail
Jeffrey Finkelstein 2e621759b2 tail: refactor code into ReverseChunks iterator
Refactor code from the `backwards_thru_file()` function into a new
`ReverseChunks` iterator, and use that iterator to simplify the
implementation of the `backwards_thru_file()` function. The
`ReverseChunks` iterator yields `Vec<u8>` objects, each of which
references bytes of a given file.
2021-05-12 18:43:58 -04:00
..
src tail: refactor code into ReverseChunks iterator 2021-05-12 18:43:58 -04:00
Cargo.toml new release 0.0.6 to address the cat issue 2021-04-03 16:06:58 +02:00
README.md change ~ make all sub-crates independent 2020-05-29 22:59:40 -05:00

Notes / ToDO

  • Rudimentary tail implementation.

Missing features:

Flags with features

  • --max-unchanged-stats : with --follow=name, reopen a FILE which has not changed size after N (default 5) iterations to see if it has been unlinked or renamed (this is the usual case of rotated log files). With inotify, this option is rarely useful.
  • --retry : keep trying to open a file even when it is or becomes inaccessible; useful when following by name, i.e., with --follow=name

Others

  • The current implementation does not handle - as an alias for stdin.

Possible optimizations:

  • Don't read the whole file if not using -f and input is regular file. Read in chunks from the end going backwards, reading each individual chunk forward.