这有点令人沮丧,我敢肯定有一个简单的答案。

history(max.show=N)将在终端上显示N行历史记录。 savehistory(file)将根据某些环境变量将许多行的历史记录保存到文件中。我想做的是

savehistory(file, max.show=N)


只需一行即可执行此操作,而不必复制或拖曳我想要的行的历史记录文件将使事情变得容易得多。

是否有一种快速的功能/方式将指定的行数保存到指定的文件?

最佳答案

我认为您最好的选择是滥用历史记录功能:

history2file <- function (fname, max.show = 25, reverse = FALSE, pattern, ...)
{
## Special version of history() which dumps its result to 'fname'
    file1 <- tempfile("Rrawhist")
    savehistory(file1)
    rawhist <- readLines(file1)
    unlink(file1)
    if (!missing(pattern))
        rawhist <- unique(grep(pattern, rawhist, value = TRUE,
            ...))
    nlines <- length(rawhist)
    if (nlines) {
        inds <- max(1, nlines - max.show):nlines
        if (reverse)
            inds <- rev(inds)
    }
    else inds <- integer()
    writeLines(rawhist[inds], fname)
}
history2file("/tmp/bla")


但是,我希望您直接开始在脚本文件中工作,而不是在命令行上做任何事情,然后再尝试将脚本拼凑在一起。

08-24 15:24