R - 重命名目录中的文件
R - Renaming files in directory
我有多个 mp3 文件,我想重命名以组织它们。它们中的大多数具有相似的格式:数字 0,后跟数字 (1:9),space,然后是 mp3 文件名。它们看起来像这样:
head(files)
[1] "01 50 Cent - Candy Shop.mp3"
[2] "01 50 Cent - Fresh '83.mp3"
[3] "01 Akon ft Eminem - Smack That.mp3"
[4] "01 Akon ft Snoop Dog - I Wanna Love You.mp3"
[5] "01 Aldo Ranks - Baila.mp3"
[6] "01 Aldo Ranks - El Alicate.mp3"
或
head(files[1098:1102])
[1] "1-01 Spragga Benz - She Nuh Ready Yet.mp3"
[2] "1-01 Tal Bachman - Darker Side Of Blue.mp3"
[3] "1-01 When Love Takes Over (feat. Kelly Rowland).mp3"
[4] "1-02 Big Boy - Voz Sensual.m4a"
[5] "1-02 Come Out And See.mp3"
为简单起见,我的工作目录是包含这些文件的文件夹。
重命名这些文件的有效方法是什么?可能使用 substr
、grep
或其他正则表达式?我应该写一个函数吗?
我尝试将文件名存储在一个名为 files
的变量中,但效率不高,因为对其中元素的更改不会反映在我的工作目录中。
任何建议>
我不是正则表达式专家,远非如此,但这很简单。
files <-
c("01 50 Cent - Candy Shop.mp3", "01 50 Cent - Fresh 83.mp3",
"01 Akon ft Eminem - Smack That.mp3", "01 Akon ft Snoop Dog - I Wanna Love You.mp3",
"01 Aldo Ranks - Baila.mp3", "01 Aldo Ranks - El Alicate.mp3"
)
new_names <- sub("^0[[:digit:]] ", "", files)
new_names
然后,要真正重命名它们,请使用 file.rename
.
file.rename(from = files, to = new_names)
我有多个 mp3 文件,我想重命名以组织它们。它们中的大多数具有相似的格式:数字 0,后跟数字 (1:9),space,然后是 mp3 文件名。它们看起来像这样:
head(files)
[1] "01 50 Cent - Candy Shop.mp3"
[2] "01 50 Cent - Fresh '83.mp3"
[3] "01 Akon ft Eminem - Smack That.mp3"
[4] "01 Akon ft Snoop Dog - I Wanna Love You.mp3"
[5] "01 Aldo Ranks - Baila.mp3"
[6] "01 Aldo Ranks - El Alicate.mp3"
或
head(files[1098:1102])
[1] "1-01 Spragga Benz - She Nuh Ready Yet.mp3"
[2] "1-01 Tal Bachman - Darker Side Of Blue.mp3"
[3] "1-01 When Love Takes Over (feat. Kelly Rowland).mp3"
[4] "1-02 Big Boy - Voz Sensual.m4a"
[5] "1-02 Come Out And See.mp3"
为简单起见,我的工作目录是包含这些文件的文件夹。
重命名这些文件的有效方法是什么?可能使用 substr
、grep
或其他正则表达式?我应该写一个函数吗?
我尝试将文件名存储在一个名为 files
的变量中,但效率不高,因为对其中元素的更改不会反映在我的工作目录中。
任何建议>
我不是正则表达式专家,远非如此,但这很简单。
files <-
c("01 50 Cent - Candy Shop.mp3", "01 50 Cent - Fresh 83.mp3",
"01 Akon ft Eminem - Smack That.mp3", "01 Akon ft Snoop Dog - I Wanna Love You.mp3",
"01 Aldo Ranks - Baila.mp3", "01 Aldo Ranks - El Alicate.mp3"
)
new_names <- sub("^0[[:digit:]] ", "", files)
new_names
然后,要真正重命名它们,请使用 file.rename
.
file.rename(from = files, to = new_names)