1

我需要将 *-dev.example.com.cfg 重命名为 *-prod.example.com.cfg

例如,如果文件名是 db-dev.example.com.cfg,我需要将其重命名为 db-prod.example.com.cfg

大约有 200 多个文件,有没有办法通过命令行来完成?

4

3 回答 3

1

您可以使用参数替换在纯 bash 中执行此操作。

for file in *-dev.example.com.cfg; do
  mv "$file" "${file/%-dev.example.com.cfg/-prod.example.com.cfg}"
done
于 2013-07-09T18:22:53.263 回答
0

这不需要正则表达式,因此由于您使用的是 Linux,因此您可以rename从 util-linux 使用。在 Debian 和 Ubuntu 等衍生产品上,该命令称为rename.ul.

rename dev.example.com.cfg prod.example.com.cfg *.cfg
于 2013-07-09T18:19:46.140 回答
0

zsh 有 zmv,如果经常做这些事情可能会很方便http://zshwiki.org/home/builtin/functions/zmv

于 2013-07-09T21:36:34.063 回答