R语言中批量提取当前目录中指定类型的文件

1、直接测试

dir()     ## 列出当前目录中所有文件
myfile <- list.files()   ## 将当前目录中的所有文件都保存为字符
myfile
gzfile <- myfile[grep(myfile, pattern =".gz$")]   ## 提取当前目录中以.gz结尾的文件
gzfile
txtfile <- myfile[grep(myfile, pattern = ".txt$")]   ## 提取当前目录中以.txt结尾的文件
txtfile
> dir()   ## 列出所有文件
[1] "GSE148812_family.soft"                   
[2] "GSE148812_family.soft.gz"                
[3] "GSE148812_genotyping_results.txt"        
[4] "GSE148812_genotyping_results.txt.gz"     
[5] "GSE148812_RAW.tar"                       
[6] "GSM4481589_8378315049_R05C01_Grn.idat"   
[7] "GSM4481589_8378315049_R05C01_Grn.idat.gz"
[8] "GSM4481589_8378315049_R05C01_Red.idat"   
[9] "GSM4481589_8378315049_R05C01_Red.idat.gz"
> myfile <- list.files()   ## 所有文件赋值给一个变量
> myfile
[1] "GSE148812_family.soft"                   
[2] "GSE148812_family.soft.gz"                
[3] "GSE148812_genotyping_results.txt"        
[4] "GSE148812_genotyping_results.txt.gz"     
[5] "GSE148812_RAW.tar"                       
[6] "GSM4481589_8378315049_R05C01_Grn.idat"   
[7] "GSM4481589_8378315049_R05C01_Grn.idat.gz"
[8] "GSM4481589_8378315049_R05C01_Red.idat"   
[9] "GSM4481589_8378315049_R05C01_Red.idat.gz"
> gzfile <- myfile[grep(myfile, pattern =".gz$")]   ## 提取以.gz结尾的文件
> gzfile
[1] "GSE148812_family.soft.gz"                
[2] "GSE148812_genotyping_results.txt.gz"     
[3] "GSM4481589_8378315049_R05C01_Grn.idat.gz"
[4] "GSM4481589_8378315049_R05C01_Red.idat.gz"
> txtfile <- myfile[grep(myfile, pattern = ".txt$")]   ##提取以.txt结尾的文件
> txtfile
[1] "GSE148812_genotyping_results.txt"
> gsefile <- myfile[grep(myfile, pattern = "^GSE")]   ## 提取以GSE开头的文件
> gsefile
[1] "GSE148812_family.soft"              
[2] "GSE148812_family.soft.gz"           
[3] "GSE148812_genotyping_results.txt"   
[4] "GSE148812_genotyping_results.txt.gz"
[5] "GSE148812_RAW.tar"    

参考:https://zhuanlan.zhihu.com/p/378404523

原文地址:https://www.cnblogs.com/liujiaxin2018/p/15706291.html