使用r从系统命令mv一个文件

时间:2012-06-07 09:56:59

标签: r system mv

我有一个目录,其中包含5个名为this

的文件
A.abcd (1).txt
B.abcd (1).txt
C.abcd (1).txt
D.abcd (1).txt
E.abcd (1).txt

我想更改文件的名称,以便它们应该像这样:

A.defg.txt
B.defg.txt
C.defg.txt
D.defg.txt
E.defg.txt

简而言之,我想更改文件中的abcd (1) to defg

我尝试从R控制台运行系统命令。

system("mv A.abcd (1).txt A.defg.txt")

但我必须逐一做到这一点。

有什么方法可以通过R ??

一次性完成

1 个答案:

答案 0 :(得分:1)

您可以使用file.rename()重命名文件。并使用sub和正则表达式进行文本操作。

x <- c("A.abcd (1).txt", "B.abcd (1).txt", "C.abcd (1).txt", "D.abcd (1).txt", "E.abcd (1).txt")
newx <- sub("abcd \\(1\\)", "defg", x)
newx
[1] "A.defg.txt" "B.defg.txt" "C.defg.txt" "D.defg.txt" "E.defg.txt"


## The following is untested
file.rename(x, newx)

请参阅?files以获取有关此操作和其他基本R文件操作函数的帮助。