解开一系列文件

时间:2015-12-03 12:27:25

标签: r tar raster

我正在尝试解压几个.tar文件,但我只想要提取.tar文件中的一些压缩文件。所有.tar文件都有不同顺序的以下内容:

[1] "README_V4.txt"                                "F182011.v4c_web.avg_vis.tfw"                 
[3] "F182011.v4c_web.avg_vis.tif.gz"               "F182011.v4c_web.cf_cvg.tfw"                  
[5] "F182011.v4c_web.cf_cvg.tif.gz"                "F182011.v4c_web.stable_lights.avg_vis.tfw"   
[7] "F182011.v4c_web.stable_lights.avg_vis.tif.gz"

我只需要提取"F182011.v4c_web.stable_lights.avg_vis.tif.gz"文件。我尝试了以下代码,但似乎没有发生任何事情:

untar_tiff <- function(filename, folder) { 
  dir.create(folder, showWarnings = F)
  list <- untar(filename, list = T)
  untar(filename, files = str_c(folder, "/", list[str_detect(list, "web.stable")]), exdir = folder)
} 

lapply(filenames_list, untar_tiff,
      folder = "TIFF")

我认为问题在于选择要解压缩的文件(file函数中的untar选项),但我尝试了几个选项而没有很好的结果。

提前致谢,

1 个答案:

答案 0 :(得分:0)

我遇到的问题与对untar函数中的参数的错误理解有关。

我跑的代码就是这个:

untar_tiff <- function(filename, folder) { 
  dir.create(folder, showWarnings = F)
  list <- untar(filename, list = T)
  untar(filename, files = str_c(list[str_detect(list, "web.stable")]), exdir = folder)
} 

lapply(filenames_list, untar_tiff,
      folder = "TIFF")

您可能会注意到,我删除了files选项中声明的完整文件路径,并将其更改为我要从tarball中提取的文件的名称。这个工作原因背后的原因仍然不清楚,我最好的猜测是exdir选项已经将文件放在该文件夹中,而代码只是将这些文件存在于.tar文件中。

如果有人能给出更好的答案,对其他有相关问题的人来说会很棒。