2016-10-10 38 views
5

我刚刚让RStudio出乎意料地崩溃,而且在重新开始时,与我所期望的相反,我一直在修补的R脚本没有找到。RStudio在保存之前存储临时R脚本文件的位置?

我已经设法追查Rhistory文件,所以我可以将所有命令拼凑在一起,这是令人放心的。

不过,我好奇,如果有什么地方我可能会尝试寻找找到可能被缓存的地方关闭的机会,暂时未保存的文件(毕竟,这是通常缓存的地方是RStudio显然知道如何寻找)。是否有我应该搜索的特定文件扩展名/格式?

目前在Linux Mint 17.3上运行R 3.3.1到RStudio 0.99.903(通过Ubuntu 14.04.3 LTS)。


我试着在命令行上运行grep来查找一些最近更新的代码行;我可能不走运。我发现了两个文件:

~/.rstudio-desktop/history_database 

这似乎主要是一个更集中的.Rhistory为RStudio

~/.rstudio-desktop/sdb/s-9CD2C698/D7986B2A 

这看起来JSON-等,还似乎基本上是一个Rhistory。如果我错了,请纠正我。

+0

你是否打开同一个项目(或关闭项目)?当你重新打开时,你可能会在不同的工作空间比你的崩溃 – rawr

+0

@rawr确实发生了类似的事情 - 当RStudio重新启动时,来自另一个“项目”的其他脚本来了,但它都在_project_之外(意思是一个官方的.Rproj文件),因为我只是在一次性的网页抓取运行中修补。 – MichaelChirico

+1

RStudio将自动保存的数据存储为'sdb'文件夹中JSON'blob'的一部分是正确的。您应该将文档序列化为长字符串,并嵌入换行符。这有点奇怪/不直观,但至少现在是这样。 –

回答

3

如从RStudio指示由@KevinUshey:

RStudio存储自动保存的数据作为SDB文件夹中的JSON '斑点' 的一部分。您应该将文档序列化为长字符串,并嵌入换行符。

使用软件包如jsonlite来解析这个,并祝你好运。

+1

事实上,在最新版本的RStudio中,我们现在将这些文件存储在''sources'文件夹中(这是旧'sdb'文件夹的同级文件夹),我们将文档内容提取到一个单独的文件中, '内容'(编码为UTF-8)。这应该有希望使这种文档恢复更容易一些! –

+0

@KevinUshey真棒!如果你有一个版本标签,我可以将它添加到答案主体(或者你可以自由地这样做) – MichaelChirico

相关问题