如何在特定模式的所有文件名中插入句点



在bash shell中,我有一个包含文件的目录:

my.file.name0000.h5
my.file.name0001.h5
...
my.file.name0100.h5

如何批量重命名它们以在数字之前插入句点?

my.file.name.0000.h5
my.file.name.0001.h5
...
my.file.name.0100.h5

我试过研究正则表达式,虽然我熟悉一些单独的命令是如何工作的,但我不熟悉如何将它们组合在一起执行任务。

为什么使用正则表达式?如果您有util-linux-rename(注意!有些有perl-rename,这是不同的(,只需:

rename file.name file.name. *.h5

我发现了一个使用此源代码的示例。把它应用到你的问题上,这应该会奏效。

for filename in my.file.name*; do echo mv "$filename" "${filename//my.file.name/my.file.name.}"; done | /bin/bash

最新更新