Sys.glob
位于 base
包(package)。 说明
对文件路径进行通配符扩展(也称为‘globbing’)的函数。
用法
Sys.glob(paths, dirmark = FALSE)
参数
paths |
相对或绝对文件路径模式的字符向量。缺失值将被忽略。 |
dirmark |
逻辑:与尚未以 |
细节
这会扩展文件路径中的波浪号(请参阅 tilde expansion )和通配符。有关通配符扩展的准确详细信息,请参阅有关 glob
系统调用的系统文档。有一个 POSIX 1003.2 标准(请参阅 https://pubs.opengroup.org/onlinepubs/9699919799/functions/glob.html ),但某些操作系统会超出此标准。
所有系统都应解释*
(匹配零个或多个字符)、?
(匹配单个字符)和(可能)[
(开始字符类或范围)。以分隔符结尾的路径的处理取决于系统。在兼容 POSIX-2008 的操作系统上,它们将(仅)匹配目录,但由于它们在 Windows 上不是有效的文件路径,因此它们不会匹配任何内容。 (早期的 POSIX 标准允许它们匹配文件。)
这些细节的其余部分是指示性的(并且基于 POSIX 标准)。
如果文件名开头为.
这可能需要显式匹配:例如Sys.glob("*.RData")
可能匹配也可能不匹配‘.RData' 但通常不会匹配 '.aa.RData’。请注意,这是依赖于平台的:例如在 Solaris 上Sys.glob("*.*")
火柴 '.' 和 '..’。
[
开始一个字符类。如果 [...]
中的第一个字符不是 !
,则这是一个将单个字符与任何指定字符相匹配的字符类。该类不能为空,因此可以包含]
(只要它是第一个)。如果第一个字符是 !
,则字符类匹配不属于指定字符的单个字符。字符类中的.
是否与文件名中的前导.
匹配为OS-dependent。
字符类可以包括 [A-Z]
等范围:通过将 -
作为字符包含在类中的第一个或最后一个。 (范围的解释应该是locale-specific,因此该示例在爱沙尼亚语言环境中不是一个好主意。)
可以通过在 ?
、 *
和 [
前面加上反斜杠来删除它们的特殊含义(字符类内除外)。
值
匹配文件路径的字符向量。该顺序是系统特定的(但按照 paths
元素的顺序):通常按当前语言环境或字节 (ASCII) 顺序进行排序;但是,在 Windows 上,排序规则按照 Unicode 点的顺序排列。
目录错误通常会被忽略,因此匹配的是可访问的文件路径(但不一定是可访问的文件)。
例子
Sys.glob(file.path(R.home(), "library", "*", "R", "*.rdx"))
也可以看看
Quotes 用于处理字符串中的反斜杠。
相关用法
- R Sys.getenv 获取环境变量
- R Sys.getpid 获取 R 会话的进程 ID
- R Sys.localeconv 查找当前语言环境中数字和货币表示形式的详细信息
- R Sys.setFileTime 设置文件时间
- R Sys.info 提取系统和用户信息
- R Sys.sleep 暂停执行一段时间
- R Sys.setenv 设置或取消设置环境变量
- R Sys.readlink 读取文件符号链接
- R Sys.which 查找可执行文件的完整路径
- R Sys.time 获取当前日期和时间
- R Syntax 运算符语法和优先级
- R Startup R 会话开始时的初始化
- R Signals 中断 R 的执行
- R Special 数学的特殊函数
- R S3method 注册S3方法
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
- R dump R 对象的文本表示
- R rank 样本排名
- R getDLLRegisteredRoutines DLL 中 C/Fortran 例程的反射信息
- R pushBack 将文本推回连接
- R strsplit 分割字符向量的元素
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Wildcard Expansion on File Paths。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。