read.file <- function (infile, offset=0){ con <- file(infile) open(con) seek(con, offset) lines <- readLines(con) cur.offset <- seek(con) close(con) list(l=lines, o=cur.offset) } my.tail <- function(infile, n=10, follow=FALSE){ lines <- read.file(infile) writeLines(tail(lines$l, n)) if(follow){ size <- file.info(infile)$size repeat{ if(size < (s <- file.info(infile)$size)){ lines <- read.file(infile, lines$o) writeLines(lines$l) size <- s } Sys.sleep(1) } } }