shell:从文件名中删除模式

shell:从文件名中删除模式

在 workdir 中,我有许多名称采用以下格式的填充:

7000_grid12_10_lig_cne_767_lig.dlg

我需要一行 sed (或其他 shell 实用程序)表达式适合替换_grid12_ to _,因此文件名变为

7000_10_lig_cne_767_lig.dlg

我尝试对所有填充物使用重命名,但它不起作用(详细什么也没发现)

rename -v 's/_grid12_/_/' *.dlg

答案1

您可以使用 perl-rename (还有另一个名为它的程序,rename它是包的一部分util-linux):

perl-rename 's,_grid12_,_,' *

您甚至不需要循环,因为perl-rename它将重命名当前目录中的所有文件。

相关内容