'rename' with expression|用前导'-'(连字符|减号)替换

ast*_*ge2 2 options string rename arguments

我有很多类似xyz_123_foo.ext的文件,我想-bar在最后添加到文件名中以生成xyz_123_foo-bar.ext. 我试过:

rename . -bar. xyz_*
Run Code Online (Sandbox Code Playgroud)

这导致:

rename: invalid option -- 'b'
Run Code Online (Sandbox Code Playgroud)

其次是用法文本。然后,我尝试与变化'-bar',并"-bar"无济于事。

我怎样才能rename接受-作为替换字符串的一部分?
或者另一个命令会更有效或更合适吗?

我的 shell 是 bash,我在 SuSe Linux SLE12 上使用renamefrom util-linux

ste*_*ver 5

mmv 非常适合这样的任务。

mmv -n -- '*.ext' '#1-bar.ext'
Run Code Online (Sandbox Code Playgroud)

或任何点扩展

mmv -n -- '*.*' '#1-bar.#2'
Run Code Online (Sandbox Code Playgroud)

-n一旦你对它做正确的事情感到高兴,就删除它。