Jorge Castro Asked: 2010-11-01 11:02:08 +0800 CST2010-11-01 11:02:08 +0800 CST 2010-11-01 11:02:08 +0800 CST 如何一次重命名多个文件? 772 我需要重命名一堆文件以修复它们的排序顺序,因此我需要能够进行一种“查找和替换”,这样我就可以一次替换大量文件名。 我应该使用什么工具?我更喜欢 GUI,但命令行工具推荐也可以。 software-recommendation files batch-rename 16 个回答 Voted Best Answer Ralf Hersel 2010-11-01T11:12:34+08:002010-11-01T11:12:34+08:00 有一些,但我推荐gprename ,它是可用性和功能之间的一个很好的折衷。 其他工具有:rename、krename 、pyrenamer 、cuteRenamer、... dempa 2011-01-25T07:14:24+08:002011-01-25T07:14:24+08:00 我真的很喜欢包装中的qmvrenameutils。它使您能够使用您最喜欢的(基于终端的)文本编辑器来重命名文件。我更喜欢调用它,-f do它会为您提供带有文件名的单列(每个文件一行)。结合 Vim 的强大功能,它为您提供了进行大量文件名编辑所需的所有工具。 http://www.nongnu.org/renameutils/ perseo22 2011-01-20T06:30:09+08:002011-01-20T06:30:09+08:00 变态 https://github.com/metamorphose 可能有点难驾驭,但真的很强大! con-f-use 2011-05-18T16:43:32+08:002011-05-18T16:43:32+08:00 如果你喜欢 shell 和 perl 正则表达式,我推荐rename. 它就像它的名字一样简单。 Simon B 2011-01-25T06:33:04+08:002011-01-25T06:33:04+08:00 thunar 文件管理器是一个带有批量重命名选项的 GUI http://thunar.xfce.org/pwiki/documentation/bulk_renamer 它在 Gnome 上不是标准的,但可以通过软件中心安装 Matthias P. 2014-01-23T13:44:24+08:002014-01-23T13:44:24+08:00 如果您熟悉 Emacs,我认为在这项任务中没有什么比 Dired 更好的了。即使您不经常使用 Emacs,您也可能会发现 Dired 是一个方便的工具。 sudo aptitude install emacs23-nox 为一个目录启动 Emacs Dired 模式: emacs -nw path/to/dir/ 现在进入编辑目录模式: C-x C-q(即 Ctrl+x 后跟 Ctrl+q) 您现在可以像在每个纯文本编辑器中编辑文本一样编辑文件名。您甚至可以选择使用正则表达式替换文件名(请注意,不幸的是 Emacs 使用与 PCRE 不同的语法)。 例如,使用计数器重命名文件(从 1 开始):( M-x replace-regexp即 Alt+x 后跟在屏幕底部的小缓冲区中键入的字符串“replace-regexp”)。 替换正则表达式: DSCN\([0-9]+\).JPG 替换为: \,(format "P%04d.jpg" (1 + \#)) 要在文件名中重用计数器: M-x replace-regexp 替换正则表达式:DSCN\([0-9]+\).JPG 替换为:\,(format "P%04d.jpg" (string-to-number \1)) 完成后,键入: C-c C-c(即 Ctrl+c 后跟 Ctrl+c) 或者按以下顺序中止您的更改: C-c Esc(即 Ctrl+c 后跟 Esc) Mr Shark 2011-01-20T06:54:33+08:002011-01-20T06:54:33+08:00 我倾向于使用mmv,它是基于命令行的,并且有一些古怪的表达式语法,但倾向于解决我的大部分问题。 Erik Lundmark 2013-09-08T22:39:49+08:002013-09-08T22:39:49+08:00 如果您使用 Nautilus 并了解 Nautilus 脚本的工作原理,则可以使用nautilus-renamer。 Ciro Santilli OurBigBook.com 2020-10-30T03:41:27+08:002020-10-30T03:41:27+08:00 find -execdir rename 这将使用仅影响基本名称的正则表达式重命名文件和目录,例如: PATH=/usr/bin find . -depth -execdir rename "s/^find/replace/" '{}' \; 或仅影响文件: PATH=/usr/bin find . -type f -execdir rename "s/^find/replace/" '{}' \; 我已在以下位置进行了更详细的解释:https ://stackoverflow.com/questions/16541582/find-multiple-files-and-rename-them-in-linux/54163971#54163971 Mr Shark 2011-01-20T06:57:35+08:002011-01-20T06:57:35+08:00 在命令行上也可以使用 sed 和 shell 的魔法: ls *.c | sed "s#\(.*\)\.c#mv \0 \1.cpp#" | sh
有一些,但我推荐gprename ,它是可用性和功能之间的一个很好的折衷。
其他工具有:rename、krename 、pyrenamer 、cuteRenamer、...
我真的很喜欢包装中的qmv
renameutils
。它使您能够使用您最喜欢的(基于终端的)文本编辑器来重命名文件。我更喜欢调用它,-f do
它会为您提供带有文件名的单列(每个文件一行)。结合 Vim 的强大功能,它为您提供了进行大量文件名编辑所需的所有工具。http://www.nongnu.org/renameutils/
变态
https://github.com/metamorphose
可能有点难驾驭,但真的很强大!
如果你喜欢 shell 和 perl 正则表达式,我推荐
rename
. 它就像它的名字一样简单。thunar 文件管理器是一个带有批量重命名选项的 GUI
http://thunar.xfce.org/pwiki/documentation/bulk_renamer
它在 Gnome 上不是标准的,但可以通过软件中心安装
如果您熟悉 Emacs,我认为在这项任务中没有什么比 Dired 更好的了。即使您不经常使用 Emacs,您也可能会发现 Dired 是一个方便的工具。
sudo aptitude install emacs23-nox
为一个目录启动 Emacs Dired 模式:
emacs -nw path/to/dir/
现在进入编辑目录模式:
C-x C-q
(即 Ctrl+x 后跟 Ctrl+q)您现在可以像在每个纯文本编辑器中编辑文本一样编辑文件名。您甚至可以选择使用正则表达式替换文件名(请注意,不幸的是 Emacs 使用与 PCRE 不同的语法)。
例如,使用计数器重命名文件(从 1 开始):(
M-x replace-regexp
即 Alt+x 后跟在屏幕底部的小缓冲区中键入的字符串“replace-regexp”)。替换正则表达式:
DSCN\([0-9]+\).JPG
替换为:
\,(format "P%04d.jpg" (1 + \#))
要在文件名中重用计数器:
M-x replace-regexp
替换正则表达式:
DSCN\([0-9]+\).JPG
替换为:
\,(format "P%04d.jpg" (string-to-number \1))
完成后,键入:
C-c C-c
(即 Ctrl+c 后跟 Ctrl+c)或者按以下顺序中止您的更改:
C-c Esc
(即 Ctrl+c 后跟 Esc)我倾向于使用mmv,它是基于命令行的,并且有一些古怪的表达式语法,但倾向于解决我的大部分问题。
如果您使用 Nautilus 并了解 Nautilus 脚本的工作原理,则可以使用nautilus-renamer。
find -execdir rename
这将使用仅影响基本名称的正则表达式重命名文件和目录,例如:
或仅影响文件:
我已在以下位置进行了更详细的解释:https ://stackoverflow.com/questions/16541582/find-multiple-files-and-rename-them-in-linux/54163971#54163971
在命令行上也可以使用 sed 和 shell 的魔法: