Linux GUI 正则表达式文件重命名器(带替换)

Linux GUI 正则表达式文件重命名器(带替换)

我的文件夹中有数百个文件,其名称如下:

010203.txt

我想重新排列文件名,以便最后两位数字移动到前面,如下所示:

030102.txt

我想避免编写脚本。

相反,我正在寻找一个可以递归评估文件夹(及其子文件夹)中的所有文件的“linux gui 正则表达式文件重命名器”。

我希望能够指定一个正则表达式来匹配文件:

(\d\d)(\d\d)(\d\d)(.*)

我希望能够执行正则表达式替换来重命名文件:

$3$1$2$4

有什么建议吗?

答案1

我知道这不完全是“GUI”,但你什么也没说为什么这是一项要求,并且已写好执行此操作的命令行工具;例如perl-rename

find ~/dir -type f -exec prename -n 's/^(\d\d)(\d\d)(\d\d)(.*)$/$3$1$2$4/' {} +

-n打开“测试”模式。当您对输出满意时,请再次运行,-v或者不使用选项。)

答案2

一些用于重命名文件的优秀 GUI 工具包括

答案3

XFCE图纳尔文件管理器具有很好的批量重命名功能。

只需选择多个文件并点击F2即可显示“重命名多个文件”对话框。从下拉菜单中选择Search & Replace选项、勾选[x] Regular Expression复选框、类型SearchReplace条件。

例如,我从 DVB-T 抓取器中获取了几个文件,名为

20190813 Okno do New Yorku.avi
20190814 Okno do Rima.avi
20190815 Okno do Bankoku.avi
20190820 Okno do Hamburgu.avi

使用搜索([0-9]+) (.*)和替换DOC \2 \1转换创建

DOC Okno do New Yorku 20190813.avi
DOC Okno do Rima 20190814.avi
DOC Okno do Bankoku 20190815.avi
DOC Okno do Hamburgu 20190820.avi

这非常酷。

批量重命名器还具有实时预览功能,因此您可以在源文件名旁边看到匹配的行及其转换,这对于调试正则表达式非常有用。不匹配的文件名不会更改。

答案4

我很感谢这些建议,但我找到了一种更简单的方法,即使用图形用户界面。

在 Ubuntu 中,安装 thunar:

sudo apt-get install thunar

然后您要做的就是导航到一个文件夹(使用 thunar)并按 ctrl-a 选择该文件夹中的所有文件。

之后,右键单击其中一个文件(已突出显示),然后从上下文菜单中选择“重命名”。然后,此对话框弹出,允许您执行正则表达式替换来重命名。

这不符合我提到的递归要求,但对于更改单个文件夹内所有文件的名称,它比命令行简单得多,但实际上,我确实很欣赏这两种方法。

相关内容