我尝试过这样的事情
file_in <- file("myfile.log","r")
x <- readLines(file_in, n=-100)
Run Code Online (Sandbox Code Playgroud)
但我还在等......
任何帮助将不胜感激
我会用scan它,以防您知道日志有多少行:
scan("foo.txt",sep="\n",what="char(0)",skip=100)
Run Code Online (Sandbox Code Playgroud)
如果你不知道你需要跳过多少,你别无选择,只能走向其中任何一个
scan("foo.txt",sep="\n",what=list(NULL))找出多少记录有,或最后一个选项可能如下所示:
ReadLastLines <- function(x,n,...){
con <- file(x)
open(con)
out <- scan(con,n,what="char(0)",sep="\n",quiet=TRUE,...)
while(TRUE){
tmp <- scan(con,1,what="char(0)",sep="\n",quiet=TRUE)
if(length(tmp)==0) {close(con) ; break }
out <- c(out[-1],tmp)
}
out
}
Run Code Online (Sandbox Code Playgroud)
允许:
ReadLastLines("foo.txt",100)
Run Code Online (Sandbox Code Playgroud)
要么
ReadLastLines("foo.txt",100,skip=1e+7)
Run Code Online (Sandbox Code Playgroud)
如果你知道你有超过1000万行.当你开始拥有非常大的日志时,这可以节省阅读时间.
编辑:事实上,考虑到文件的大小,我甚至不会使用R. 在Unix上,您可以使用tail命令.还有一个Windows版本,在工具箱中的某个地方.虽然我还没试过.
| 归档时间: |
|
| 查看次数: |
4182 次 |
| 最近记录: |