Searching for shell builtins to speedup Nanoblogger, we stumbled across a very
charming and nice way to implement a tail
function in the Kornshell.
This works in KSH93
and newer.
The new redirection operators, <#
and >#
are used to seek. For example,
<# (( EOF-36 ))
will seek to 36 bytes before the end-of-file. You can apply this along with any redirection so that
cat < file <# (( 80 ))
will cat the file starting from offset 80. The value of $(n<#)
is the current
offset on file descriptor n
.
The current syntax can be extended to add other seek options like SEEK_HOLE
,
by using,
<# (( HOLE ))
to seek to the next hole.