如何通过移动文件名中的模式来重命名一组文件

用户3609115

对于文件

test_001.log
test_002.log

我想将它们重命名为

001_test.log
002_test.log

我认为它应该是这样的

for f in *.log; do mv "$f" "`echo $f | sed s/test_\(.*\)\.log/\1_test.log/`"; done

但我得到了错误

mv: `test_001.log' and `test_001.log' are the same file

我在这里做错了什么?

斯乔希

这是工作片段:

for f in *.log; do mv $f `echo $f | sed 's/test_\(.*\)\.log/\1_test.log/'`; done;

我认为您错过了引用's/test_\(.*\)\.log/\1_test.log/',这可能不会返回您的期望。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用名称类似于Windows文件路径的文件名来重命名一组文件

如何在Linux中批量重命名一组文件名?

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

如何通过在Windows中的文件名之间添加通用名来重命名多个文件?

如何通过在文件名中的任意位置填充数字来重命名文件?

如何在Ubuntu中重命名一组文件

通过将中间字符串移动到文件名末尾来重命名文件

通过使用Shell脚本替换文件名中的特定模式来重命名多个文件

通过提取与模式匹配的部分文件名来重命名文件

通过将字符串从文件名的后面移动到前面来重命名文件名

通过忽略文件名中第一个空格后的所有内容来重命名文件

通过减去值来重命名文件名的末尾

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

如何通过在原始文件名前添加序列号来重命名文件?

通过增加文件名中的数字来重命名文件

通过用另一个模式替换一个模式来递归地重命名存储库和文件名

如何重命名文件夹中的文件名?

通过将文件名与文本文件中的名称进行比较来重命名文件

如何将具有重复文件名的文件复制到一个目录中,并通过在R中自动重命名重复的文件来保留两个文件?

如何将具有重复文件名的文件复制到一个目录中,并通过自动重命名重复的文件来保留两个文件?

如何通过删除包括文件名中最后一次出现“by”在内的所有内容来重命名几千个文件

通过重新格式化文件名中嵌入的日期字符串来重命名文件

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

通过重新排列原始文件名来重命名多个文件

如何重命名(太长)文件名

如何在CMake中重命名库文件名?

在 PowerShell 中重命名文件名

如何从列表中递归重命名一部分文件名?

通过修剪文件名末尾的'\ n'重命名文件