||||
文件夹中文件名的提取和更新(独家奉上)
熊荣川
六盘水师范学院生物信息学实验室
http://blog.sciencenet.cn/u/Bearjazz
做生物信息学的人有了一个原始数据之后,就会对之进行全方位的分析比较。这个原始数据可能是一条分子序列,一组测量数据……但是随着分析过程的延续,我们会生成很多衍生文件,例如序列的比对文件、构建系统发育树时产生的附加信息、日志等文件。时间久了我们会忘记这些文件是什么东东,我们之前的做法是相关的文件保存在同一个文件夹中,然后建立一个列有各文件名 及其内容简介的索引文件。但是每建立一个新文件都记录的话似乎会耽误主要工作,我们希望在空闲的时候进行一下集中整理,比如先把“树”跑上在回来整理。这时候堆积起来的文件名的输入就显得麻烦。鉴于此我们写下了下面的R语言代码,可以便捷的一次性导入文件夹中所有的文件名,并且还有更为方面的额更新代码。
以下为独家原创代码以飨各位看客
rm(list=ls())
setwd("D:/ziliao/zhuanye/R bear") #设定工作目录#
path="D:/ziliao/zhuanye……/Dalvhuangshan" #设置文件夹路径
doc.names <- dir(path) #读入各个文件名
write(doc.names, file="D:/ziliao/zhuanye……/dirlist.txt" ) #文件夹中文件名的初始化
##创建完毕,你可以打开dirlist.txt对各个文件名进行注释,注释务必写在同一行
##以下是更新
rm(list=ls())
setwd("D:/ziliao/zhuanye/R bear") #设定工作目录#
data <- readLines("D:/ziliao/zhuanye……/dirlist.txt") #导入原文件名清单
path="D:/ziliao/zhuanye……/Dalvhuangshan" #设置路径
doc.names <- dir(path) #读入现在各个文件名
c=doc.names #简便起见,将doc.names赋值给c
for (i in 1:length(doc.names))
{
a=c[i]
if (length(i <- grep(a,data)))
c[grepl(a,c)] <- data[grepl(a,data)]
} #保留新文件名,替换老文件夹名为有所修改的老文件夹名
就这么简单,祝您科研愉快!
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-5-22 06:39
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社