附加到文件夹中的文件名

时间:2018-12-14 06:45:03

标签: r regex

如何在文件夹中附加文件名

Filenames: 
abc.wav
wjejrt.wav
13567tin.wav

Desired Output
abc_ENG.wav
wjejrt_ENG.wav
13567tin_ENG.wav

在下面尝试了此行代码,但出现错误,可能是因为我不知道file.rename函数的正确用法。请帮助...

file.rename(list.files(pattern="*.wav"), paste0("_ENG"))

3 个答案:

答案 0 :(得分:2)

使用基础R,您可以执行以下操作:

Filenames <- c("abc.wav", "wjejrt.wav", "13567tin.wav")
Fnames_new <- sub(".wav", "_ENG.wav", Filenames, fixed = TRUE)
file.rename(Filenames, Fnames_new)

答案 1 :(得分:1)

自从标记了Python之后,您可以使用os.rename()重命名文件:

from os import rename
from os import listdir
from os.path import splitext

# Current directory script is being run in
# You can change this to any path you want
path_to_folder = "."

for f in listdir(path_to_folder):
    if f.endswith(".wav"):
        name, ext = splitext(f)
        rename(f, name + "_ENG" + ext)

答案 2 :(得分:0)

您可以尝试这个

^.*(?=\\.wav)
  

说明

  • ^-字符串开头的锚点。
  • .*-匹配除换行以外的所有内容。
  • (?=\\.wav)-正面前瞻匹配.wav

将您的代码更改为此

file.rename(list.files(pattern=".*(?=\\.wav)"), paste0("_ENG"))

Demo