Как сохранить всю последовательность команд из определенного дня в файл?

Можно ли сохранить всю последовательность команд за определенный день из RStudio в файл? Если да, то как?


person user30314    schedule 26.03.2014    source источник


Ответы (1)


RStudio сохраняет историю в ~/.rstudio-desktop/history_database (*NIX).

Он сохраняет строку кода и текущий идентификатор, который составляет секунды/1000 до эпохи.

смп as.numeric(Sys.time()).

Итак, as.numeric(Sys.time()-60*60*24)*1000 - это индекс времени примерно на 24 часа назад во времени. Однако расположение файла history_database может зависеть от платформы.

Для меня работало следующее:

  # get the file to table
  h<-read.table("~/.rstudio-desktop/history_database",sep=":",fill=T,stringsAsFactors=F) 

  # convert timestamps to numeric, note that some are converted to NA
  h$V1<-as.numeric(h$V1)

  # enter time from when on you want to have your history
  from<-as.numeric(as.POSIXct("2014-03-27 10:00:00 CET"))*1000

  # accordingly
  to<-as.numeric(as.POSIXct("2014-03-27 13:00:00 CET"))*1000

  # I also want the lines with NA timestamps within my time window
  min<-min(which(h$V1>from & h$V1<to))
  max<-max(which(h$V1>from & h$V1<to))

  # this are lines you typed between 10:00 and 13:00  on 27th of march 2014
  h$V2[min:max]

  # save to file
  f<-file("history.txt")
  writeLines(h$V2[min:max], f)
  close(f)
person Janhoo    schedule 27.03.2014
comment
Очень полезно. Хотя вызов read.table не будет работать, если вы используете ':' в своем коде для других целей. Я обнаружил, что readLines() и извлечение регулярных выражений являются наиболее универсальным способом разделения временных меток и строк кода. - person Gopala; 01.12.2015