删除 R 中的多个排序文件
remove multiple sequenced files in R
我创建了多个名为 1:100 的文件 + 文件的随机字母:
for (i in 1:100){
file.create( paste0(i , ".txt"), showWarnings=TRUE)
# assign random LETTER to files
AZ <- sample(LETTERS,1)
cat(AZ,file = paste0(i,".txt"),append=TRUE)
#rename files, and create new file with append of LETTERS
name <- scan(file=paste0(i,".txt"), what="character")
file.rename(paste0(i,".txt"), paste0(i, name,".txt"))
现在,我有很多文件名为“1T、2C、3Y、...、100A”,我想用 [= 删除所有这些文件(不删除目录中的其余文件) 22=]函数,不一一命名应该如何删除?以及所有名为 "exercicio03" 的目录,其中包含所有内容?
ps.: 我已经试过了
file.remove(paste0(i,name,".txt"))
但仅删除最后一个文件“100A”
由于您使用了一个示例函数,我认为如果您(确实)保存了从该示例函数中获得的值,您只能 100% 确定您只删除了这些文件而没有其他文件。
所以你的第一部分应该是:
AZ<-NA
for (i in 1:100){
file.create( paste0(i , ".txt"), showWarnings=TRUE)
# assign random LETTER to files
AZ[i] <- sample(LETTERS,1)
cat(AZ[i],file = paste0(i,".txt"),append=TRUE)
#rename files, and create new file with append of LETTERS
name <- scan(file=paste0(i,".txt"), what="character")
file.rename(paste0(i,".txt"), paste0(i, name,".txt"))
}
这样您之后就可以通过以下方式将它们全部删除:
for (i in 1:100){
file.remove(paste0(i,AZ[i],".txt"))
}
您可以使用以下两行代码轻松地仅删除名称类似于 "1T.txt, 2C.txt, 3Y.txt, ..., 100A.txt"
的文件:
remove.files <- list.files(".", pattern="^[0-9]{1,3}[A-Z]{1}\.txt$")
do.call(file.remove,list(remove.files))
该脚本获取您创建它们的当前目录中所有以 1-3 位数字后跟一个字母开头的文本文件,并删除它们。
我创建了多个名为 1:100 的文件 + 文件的随机字母:
for (i in 1:100){
file.create( paste0(i , ".txt"), showWarnings=TRUE)
# assign random LETTER to files
AZ <- sample(LETTERS,1)
cat(AZ,file = paste0(i,".txt"),append=TRUE)
#rename files, and create new file with append of LETTERS
name <- scan(file=paste0(i,".txt"), what="character")
file.rename(paste0(i,".txt"), paste0(i, name,".txt"))
现在,我有很多文件名为“1T、2C、3Y、...、100A”,我想用 [= 删除所有这些文件(不删除目录中的其余文件) 22=]函数,不一一命名应该如何删除?以及所有名为 "exercicio03" 的目录,其中包含所有内容?
ps.: 我已经试过了
file.remove(paste0(i,name,".txt"))
但仅删除最后一个文件“100A”
由于您使用了一个示例函数,我认为如果您(确实)保存了从该示例函数中获得的值,您只能 100% 确定您只删除了这些文件而没有其他文件。 所以你的第一部分应该是:
AZ<-NA
for (i in 1:100){
file.create( paste0(i , ".txt"), showWarnings=TRUE)
# assign random LETTER to files
AZ[i] <- sample(LETTERS,1)
cat(AZ[i],file = paste0(i,".txt"),append=TRUE)
#rename files, and create new file with append of LETTERS
name <- scan(file=paste0(i,".txt"), what="character")
file.rename(paste0(i,".txt"), paste0(i, name,".txt"))
}
这样您之后就可以通过以下方式将它们全部删除:
for (i in 1:100){
file.remove(paste0(i,AZ[i],".txt"))
}
您可以使用以下两行代码轻松地仅删除名称类似于 "1T.txt, 2C.txt, 3Y.txt, ..., 100A.txt"
的文件:
remove.files <- list.files(".", pattern="^[0-9]{1,3}[A-Z]{1}\.txt$")
do.call(file.remove,list(remove.files))
该脚本获取您创建它们的当前目录中所有以 1-3 位数字后跟一个字母开头的文本文件,并删除它们。