从工作目录中提取文件扩展名并检查条件

Extract extension of file from working directory and check condition

可能重复: Extract file extension from file path

我处于需要检查工作目录中文件扩展名并做出决定的状态。我通过 list.files() 检查它,它给了我工作目录中的所有扩展名的文件。 我得到一个像

这样的列表
"GSM18423_PA-D_132.cel"        "GSM18424_PA-D_206.cel"        "GSM18425_PA-D_216.cel" 

现在我想要一个条件,如果一个文件有扩展名 .cel 做如下的事情。

if(extension==".cel")
...... else
......

因为我在寻找 tools 包,但在我的 R version 3.1.3 RC (2015-03-06 r67947) 的 R 版本中不起作用。我试过 install.packages("tools") 弹出 window 并要求在安装前重新启动我的系统,但最终什么也没做,甚至没有重新启动。最后我收到一条消息

Installing package into ‘/home/hussain/R/i686-pc-linux-gnu-library/3.1’
(as ‘lib’ is unspecified)
Warning in install.packages :
  package ‘tools’ is not available (for R version 3.1.3 RC)

这是tools::file_ext

的源代码
function (x) 
{
    pos <- regexpr("\.([[:alnum:]]+)$", x)
    ifelse(pos > -1L, substring(x, pos + 1L), "")
}

只需使用此代码创建您自己的函数

参考评论 @user20650,我认为做类似

的事情会很容易
lst <- list.files()
ext <- grepl("*.cel$", lst)[1]
if(ext)
{ .....
code
....
}else{
....
code
.....
}