【发布时间】:2022-11-28 19:45:39
【问题描述】:
我有一个包含多个包含文件的子目录的目录。
文件本身没有扩展名;但是,每个文件都有一个扩展名为".hdr" 的附加头文件。
在 R 中,我想列出所有包含字符串 map_masked 并以模式 "masked" 结尾的文件名,但我只想要没有扩展名的文件(那些结尾使用模式,而不是头文件)。
正如this answer 中所建议的那样,我尝试使用$ 符号来指示模式应该出现在一行的末尾。
这是我使用的代码:
dir <- "/my/directory"
list.files(dir, pattern = "map_masked|masked$", recursive = TRUE)
但是,输出如下所示:
[1] "subdirectory/something_map_masked_something_masked"
[2] "subdirectory/something_map_masked_something_masked.hdr"
etc.
现在,如何告诉 R 排除扩展名为 ".hdr" 的文件?
我知道这可以通过在输出上应用过滤器来轻松完成,但我更想知道我的代码有什么问题,并了解为什么 R 在这种情况下会以这种方式运行。
【问题讨论】:
-
使用
pattern = "map_masked.*masked$" -
谢谢,这有效!