R中的list.files()并检查哪些是不同的/新的

时间:2017-04-06 20:12:14

标签: r difference

我知道还有另一个问题浮出水面,但我找不到它。

我想在R中time_1 <- list.files(),稍后当我time_2 <- list.files()知道哪些是新内容时,如果它们之前在那里,则自time_1以来已更新。

有谁知道这个功能的名称或如何执行任务?

(最终,我将检查这些文件的时间戳,但这可能超出了这个问题。)

> sessionInfo()
R version 3.3.2 (2016-10-31)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: Amazon Linux AMI 2016.09

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8   
 [6] LC_MESSAGES=en_US.UTF-8    LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] forecast_8.0      tidyr_0.6.1       highcharter_0.5.0 DT_0.2            dplyr_0.5.0       lubridate_1.6.0   jsonlite_1.3      shinythemes_1.1.1
 [9] ggthemes_3.4.0    ggfortify_0.4.1   ggplot2_2.2.1     shiny_1.0.1      

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.10      plyr_1.8.4        tseries_0.10-38   xts_0.9-7         tools_3.3.2       digest_0.6.12     tibble_1.3.0      gtable_0.2.0     
 [9] nlme_3.1-128      lattice_0.20-34   igraph_1.0.1      psych_1.7.3.21    DBI_0.6-1         yaml_2.1.14       parallel_3.3.2    gridExtra_2.2.1  
[17] stringr_1.2.0     htmlwidgets_0.8   lmtest_0.9-35     nnet_7.3-12       grid_3.3.2        data.table_1.10.4 R6_2.2.0          foreign_0.8-67   
[25] TTR_0.23-1        purrr_0.2.2       reshape2_1.4.2    magrittr_1.5      scales_0.4.1      htmltools_0.3.5   rlist_0.4.6.1     quantmod_0.4-7   
[33] assertthat_0.1    mnormt_1.5-5      timeDate_3012.100 mime_0.5          xtable_1.8-2      colorspace_1.3-2  fracdiff_1.4-2    httpuv_1.3.3     
[41] quadprog_1.5-5    stringi_1.1.3     lazyeval_0.2.0    munsell_0.4.3     broom_0.4.2       zoo_1.7-14       
> version
               _                           
platform       x86_64-redhat-linux-gnu     
arch           x86_64                      
os             linux-gnu                   
system         x86_64, linux-gnu           
status                                     
major          3                           
minor          3.2                         
year           2016                        
month          10                          
day            31                          
svn rev        71607                       
language       R                           
version.string R version 3.3.2 (2016-10-31)
nickname       Sincere Pumpkin Patch       

2 个答案:

答案 0 :(得分:5)

目标:

  

我想在R中time_1 <- list.files(),稍后当我time_2 <- list.files()知道哪些是新内容时,如果它们之前在那里,则自time_1以来已更新。

看起来这包含在基础包utils中。请参阅?fileSnapshot?changedFiles

  

fileSnapshot函数使用list.files获取文件列表,并根据file.infomd5sumdigest参数记录有关的信息每个文件。

     

changedFiles功能比较两个快照。

答案 1 :(得分:3)

感谢弗兰克向我指出这一点。我想提供一个完全充实的答案:

t1 <- fileSnapshot(timestamp = 'ts_stamps.txt')
t2 <- fileSnapshot(timestamp = 'ts_stamps.txt')
changedFiles(t1, t2, check.file.info = c("size", "isdir", "mode", "mtime"))$changes

               size  isdir mode mtime Newer
ev.csv        FALSE FALSE FALSE FALSE FALSE
nf.csv        FALSE FALSE FALSE FALSE FALSE
obs.csv       FALSE FALSE FALSE FALSE FALSE
ts_stamps.txt FALSE FALSE FALSE  TRUE FALSE