正则表达式 – 使用正则表达式在bash中复制和重命名多个文件

前端之家收集整理的这篇文章主要介绍了正则表达式 – 使用正则表达式在bash中复制和重命名多个文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个文件结构:
A/
    2098765.1ext
    2098765.2ext
    2098765.3ext
    2098765.4ext
      12345.1ext
      12345.2ext
      12345.3ext
      12345.4ext

B/
    2056789.1ext
    2056789.2ext
    2056789.3ext
    2056789.4ext
      54321.1ext
      54321.2ext
      54321.3ext
      54321.4ext

我需要重命名所有以20开头的文件,以10开头;即我需要将B / 2022222.1ext重命名为B / 1022222.1ext

我看到有关重命名多个文件的许多其他问题,但似乎无法使我的工作.只是为了看看我是否可以弄清楚我在做什么,我实际上尝试做我做的复制/重命名

for file in "*/20?????.*"; do
    echo "{$file/20/10}";
done

但我得到的是

{*/20?????.*/20/10}

有人能告诉我怎么做吗?

你只是有一点不正确的语法是:
for file in */20?????.*; do mv $file ${file/20/10}; done

>从引用的参数中删除引号,否则文件扩展名不会发生.>替换中的$应该在括号之前

猜你在找的正则表达式相关文章