Вы можете изменить имена файлов с помощью регулярного выражения, используя gsub
, который удаляет предпоследнее подчеркивание
my_regex <- "(_)([[:alnum:]]{3}_[[:alnum:]]{3}[.]mzML)"
my_filename <- "2020-02-02_B1W1_RP_NEG_P7_A20_001.mzML"
gsub(my_regex, "\\2", my_filename)
#> [1] "2020-02-02_B1W1_RP_NEG_P7A20_001.mzML"
Таким образом, вы можете сделать что-то вроде
rename_mzMLs <- function(directory)
{
filenames <- list.files(directory, pattern = ".mzML")
my_regex <- "(_)([[:alnum:]]{3}_[[:alnum:]]{3}[.]mzML)"
new_filenames <- gsub(my_regex, "\\2", filenames)
file.rename(filenames, new_filenames)
}
И запустить его с помощью делать
rename_mzMLs("C:/path/to/mzML/files/")
Очевидно, я не могу проверить это, так как у меня нет файлов mzML, поэтому убедитесь, что вы создали резервные копии своих файлов перед запуском этой функции!