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

埃弗拉克

当子目录和文件名都包含相同的子字符串时,如何重命名父目录中的子目录和文件名中的子字符串?

特别是,我想在子目录和文件名中用“cam_1”替换“cam_0”。

例子:

parent:
--subdirectory_cam_0:
------ subdir_cam_0_image1.jpg
------ subdir_cam_0_image2.jpg
------ subdir_cam_0_image3.jpg

重新连接到:

parent:
--subdirectory_cam_1:
------ subdir_cam_1_image1.jpg
------ subdir_cam_1_image2.jpg
------ subdir_cam_1_image3.jpg

我使用了下一个命令:

find -iname "*cam_0*" | rename 's/(cam_0)/cam_1/'   

但它只更改子目录的名称,而不是文件的名称。

它抛出下一条消息:

./subdirectory_cam_0/subdir_cam_0_image1.jpg not renamed: ./subdirectory_cam_1/subdir_cam_0_image1.jpg already exists
./subdirectory_cam_0/subdir_cam_0_image3.jpg not renamed: ./subdirectory_cam_1/subdir_cam_0_image3.jpg already exists
./subdirectory_cam_0/subdir_cam_0_image2.jpg not renamed: ./subdirectory_cam_1/subdir_cam_0_image2.jpg already exists
纳西里

只需g在重命名匹配模式的末尾添加即可重命名所有找到的匹配项。

试试这个:

find -iname "*cam_0*" | rename 's/(cam_0)/cam_1/g'   

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用匹配的字符串递归重命名文件夹名和文件名

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

如何使用哈希中的字符串值重命名文件名?

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

如何将文件重命名为文件名中的子字符串?

如何通过替换文件名中的字符串来重命名多个文件?该字符串包含“#”

Python:如何在目录名(不是单个文件名)中搜索特定的“字符串”

如何使用字符串替换重命名linux目录中的所有文件?

如何在所有文件夹和文件名中替换字符串

如何通过交换文件名中的子字符串来批量重命名文件?

使用从文件名中提取的字符串重命名文件

如何使用“:”和文件名中的递增数字复制和重命名文件

使用sed从文件名中移动字符串或使用重命名将其重命名

如何在脚本python3中递归重命名子目录和文件名?

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

如何替换文件名和目录名中的哈希模式

如何替换文件名和目录名中的哈希模式 (Linux)

使用文件中的行来产生字符串和文件名

如何在目录和文件名中查找模式并仅在为父目录找到模式时才对文件执行重命名?

使用FIND和MV重命名文件。删除找到的字符串,然后将其放在文件名之前?

如何通过移动/替换字符并在文件名中转换日期格式来重命名bash中的多个文件?

如何重命名目录名称,将名称字符串中每个单词的第一个字母替换为大写?

使用批处理文件将文件名和文件中的特定字符串传递到for循环中

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

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

python,从目录中读取文件名,在bash脚本中使用字符串

如何替换目录中所有文件名中的字符串?(特别是我需要从目录中的所有文件名中删除“ \#015”

bash - 遍历子目录、cat 文件并使用目录名重命名

如何从没有文件扩展名的目录中仅保存文件名的子字符串?