我正在寻找批量重命名当前目录中的文件,并从文件名末尾删除某些字符串。使用bash和Perl批量重命名文件基于文件名
样品:
foo-bar-(ab-4529111094).txt
foo-bar-foo-bar-(ab-189534).txt
foo-bar-foo-bar-bar-(ab-24937932201).txt
输出应该是这样的:
foo-bar.txt
foo-bar-foo-bar.txt
foo-bar-foo-bar-bar.txt
我想在每个文件名 的年底将字符串-(ab-2492201)
知道数字的长度可以变化。
Perl正则表达式优于模块,并且不使用任何实用程序,对于bash oneliner命令是高度优先的。
如何在Linux上的Perl和Bash Shell中完成该操作?有兴趣知道两种解决方案。
为什么你不希望使用任何Perl模块? – Borodin
在我的主脚本中插入代码之后,可以在多台机器上进行移植,因此并非每台机器都必须安装模块依赖关系。 – SilverShadow
perl“核心”模块非常多,应该可以在任何标准的Perl安装中使用。一旦它们是'File :: Find',但它似乎不是您的问题所必需的。 – Borodin