解压选择的文件

untar a selection of files

我正在尝试解tar 几个 .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函数中的file选项),但我尝试了几个选项都没有很好的效果。

提前致谢,

我遇到的问题与对 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 选项中指定的完整文件路径,并将其更改为我要从 tar 球中提取的文件的名称。我仍然不清楚这背后的原因,我最好的猜测是 exdir 选项已经将文件放在该文件夹中,并且代码只是将这些文件的存在检查到 .tar文件。

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