gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 08:49:50 26 4
gpt4 key购买 nike

我的文件结构如下:

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
  1. in 的参数中删除引号。否则,不会发生文件名扩展。
  2. 替换中的 $ 应该放在括号之前

关于regex - 在 bash 中使用正则表达式复制和重命名多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14859345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com