2016-10-10 83 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

相關問題