根据父目录使用R中的特定文件名重命名文件

762

这是这里先前线程的后续内容我有相同的目标,但略有调整。

所以假设一个新的文件名向量

c("D:/example/sub1/session1/OD/CD/adsfadfadsfadfadf_blue.txt", "D:/example/sub2/session1/OD/CD/text.txt", 
"D:/example/sub3/session1/OD/CD/text.txt")

我将如何调整此代码

library(stringr)
library(magrittr)

all_dirs <-
  c("D:/example/sub1/session1/OD/CD/text.txt",
    "D:/example/sub2/session1/OD/CD/text.txt",
    "D:/example/sub3/session1/OD/CD/text.txt")

new_dirs <-
  all_dirs %>%
  # Match each group using regex
  str_match_all("D:/example/(.+)/(.+)/OD/CD/(.+)") %>%
  # Paste the matched groups into one path
  vapply(function(x) paste0(x[2:4], collapse = "_"), character(1)) %>%
  paste0("D:/all_files/", .)

# Copy them.
file.copy(all_dirs, new_dirs)

这样我就只能选择文件blue名中某处的文件?我曾尝试调整这条线

str_match_all("D:/example/(.+)/(.+)/OD/CD/(.+)") %>%

代替说

str_match_all("D:/example/(.+)/(.+)/OD/CD/*blue*") %>%

但这似乎不起作用。同样,主要目标仍然与先前的帖子相同。我希望保留完整的文件名。

布伦达·巴特勒

抱歉,我不知道R,但是如何:

str_match_all("D:/example/(.+)/(.+)/OD/CD/(.*blue[^/]*)") %>%

如果R中的正则表达式的行为类似于其他引擎/语言,则。+将匹配任何一个或多个字符。因此可能会匹配目录层次结构中的多个级别。。*将匹配任何零个或多个字符。[^ /] *将匹配非斜杠的任何零个或多个字符。

希望这对您有所帮助。如果要将URL的这一部分限制为一个目录级别,则不妨将所有。+或。*更改为[^ /] +或[^ /] *。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用R根据文件名重命名目录中的文件

来自分类Dev

根据文件的父目录重命名文件

来自分类Dev

根据文件名在python中重命名文件

来自分类Dev

重命名多个目录中的文件名

来自分类Dev

重命名目录中的文件名中使用Python

来自分类Dev

使用for循环python重命名目录中的文件名

来自分类Dev

使用datagridview列值重命名目录中的所有文件名

来自分类Dev

使用重命名递归替换文件名(而不是目录)中无效字符的脚本

来自分类Dev

在 PowerShell 中重命名文件名

来自分类Dev

使用Shell重命名文件名中的编号

来自分类Dev

使用PowerShell重命名或删除文件名中的字符

来自分类Dev

如何使用python重命名文件名中的特定单词

来自分类Dev

cp文件并根据旧文件名重命名?

来自分类Dev

根据包含的文件名批量重命名zip文件

来自分类Dev

根据现有文件名重命名文件

来自分类Dev

使用 R 中没有“.csv”的文件名重命名列表中的名称

来自分类Dev

使用Reduce合并R中的许多表时,用文件名重命名列

来自分类Dev

如何使用 Ubuntu“重命名”工具替换目录名和文件名中的字符串?

来自分类Dev

PowerShell重命名多个文件,文件名的特定部分

来自分类Dev

PHP使用子目录作为新文件名重命名所有文件

来自分类Dev

根据父目录移动和重命名文件

来自分类Dev

如何匹配文件名中的字符串并根据字符串重命名文件?

来自分类Dev

批量重命名特定目录中的文件

来自分类Dev

bash重命名不同目录中文件名的部分

来自分类Dev

根据一些计算重命名文件名

来自分类Dev

VBA根据文件名重命名工作表

来自分类Dev

从目录中的所有文件名中减去1(重命名)。

来自分类Dev

重命名文件夹中的文件名-Python

来自分类Dev

重命名文件夹中的文件名

Related 相关文章

  1. 1

    使用R根据文件名重命名目录中的文件

  2. 2

    根据文件的父目录重命名文件

  3. 3

    根据文件名在python中重命名文件

  4. 4

    重命名多个目录中的文件名

  5. 5

    重命名目录中的文件名中使用Python

  6. 6

    使用for循环python重命名目录中的文件名

  7. 7

    使用datagridview列值重命名目录中的所有文件名

  8. 8

    使用重命名递归替换文件名(而不是目录)中无效字符的脚本

  9. 9

    在 PowerShell 中重命名文件名

  10. 10

    使用Shell重命名文件名中的编号

  11. 11

    使用PowerShell重命名或删除文件名中的字符

  12. 12

    如何使用python重命名文件名中的特定单词

  13. 13

    cp文件并根据旧文件名重命名?

  14. 14

    根据包含的文件名批量重命名zip文件

  15. 15

    根据现有文件名重命名文件

  16. 16

    使用 R 中没有“.csv”的文件名重命名列表中的名称

  17. 17

    使用Reduce合并R中的许多表时,用文件名重命名列

  18. 18

    如何使用 Ubuntu“重命名”工具替换目录名和文件名中的字符串?

  19. 19

    PowerShell重命名多个文件,文件名的特定部分

  20. 20

    PHP使用子目录作为新文件名重命名所有文件

  21. 21

    根据父目录移动和重命名文件

  22. 22

    如何匹配文件名中的字符串并根据字符串重命名文件?

  23. 23

    批量重命名特定目录中的文件

  24. 24

    bash重命名不同目录中文件名的部分

  25. 25

    根据一些计算重命名文件名

  26. 26

    VBA根据文件名重命名工作表

  27. 27

    从目录中的所有文件名中减去1(重命名)。

  28. 28

    重命名文件夹中的文件名-Python

  29. 29

    重命名文件夹中的文件名

热门标签

归档