R語言中批量提取當前目錄中指定型別的檔案
阿新 • • 發佈:2021-12-19
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