如何一次重命名多个文件?
我需要重命名一堆文件以修复它们的排序顺序,因此我需要能够进行一种“查找和替换”,这样我就可以一次替换文件名的块。
我应该使用什么工具? 我更喜欢GUI,但命令行工具推荐也没问题。
有几个,但我推荐gprename 这是可用性和function之间的良好折衷。
其他工具有:重命名, krename , pyrenamer ,cuteRenamer,…
我真的很喜欢renameutils
包中的renameutils
。 它使您可以使用您喜欢的(基于终端的)文本编辑器来重命名文件。 我更喜欢用-f do
来调用它,它会为你提供一个带有文件名的单列(每个文件一行)。 结合Vim的强大function,它为您提供了进行大量文件名编辑所需的所有工具。
如果您喜欢shell和perl正则表达式,我建议rename
。 这就像它的名字一样简单。
thunar文件管理器是一个带有批量重命名选项的GUI
http://thunar.xfce.org/pwiki/documentation/bulk_renamer
它不是Gnome的标准配置,但可以通过软件中心安装
如果你熟悉Emacs,我认为没有什么能比这个任务好。 即使你不经常使用Emacs,你也可能会发现Dired一个方便的工具。
sudo aptitude install emacs23-nox
启动目录的Emacs Dired模式:
emacs -nw path/to/dir/
现在进入编辑目录模式:
Cx Cq
(即Ctrl + x后跟Ctrl + q)
您现在可以编辑文件名,例如在每个纯文本编辑器中编辑文本。 您甚至可以选择使用正则表达式替换文件名(请注意,不幸的是Emacs使用的语法与PCRE不同)。
例如,要使用counter重命名文件(从1开始):
Mx replace-regexp
(即屏幕底部的迷你缓冲区中输入的Alt + x后跟字符串“replace-regexp”)。
替换正则表达式: DSCN\([0-9]+\).JPG
替换为: \,(format "P%04d.jpg" (1 + \#))
要在文件名中重用计数器:
Mx replace-regexp
替换正则表达式: DSCN\([0-9]+\).JPG
替换为: \,(format "P%04d.jpg" (string-to-number \1))
完成后,键入:
Cc Cc
(即Ctrl + c后跟Ctrl + c)
或者,按以下顺序中止更改:
Cc Esc
(即Ctrl + c后跟Esc)
我倾向于使用mmv ,这是基于命令行的,并且有一些有点古怪的表达式语法,但倾向于解决我的大部分问题。
如果您使用Nautilus并了解Nautilus Scripts如何工作,您可以使用nautilus-renamer 。
在命令行上还可以使用sed和shell的魔法:
ls *.c | sed "s#\(.*\)\.c#mv \0 \1.cpp#" | sh
Windows有一个非常好的程序,称为批量重命名实用程序。 这是URL: http : //www.bulkrenameutility.co.uk/Main_Intro.php 。
有一个可移植的unicode Windows 98版本。 我把它放在我的Linux系统(Mint Maya)上的一个文件夹中,当我通过Wine运行时,它就像一个魅力。 gui非常易于使用且非常灵活。
对我来说,pyRenamer工作得最好。 没什么(可悲的)接近Total Commanders构建它的重命名工具。 pyRenamer没有与Krusader集成,但考虑到你不使用经常使用的重命名工具这一事实,pyRenamer是一个非常好的选择。
这是我使用的工具: rnm ( 手册页 )( 更多示例 )
一些用法:
rnm file-name -ns new-filename # single file rnm ./* -ns '/n//i/' # files will be sorted and indexed. rnm ./* -rs '/search/new/g' # 'search' in filenames will be replaced with 'new' rnm ./* -ns '/fn//i/' -ss 'search' # only files/directories which contain 'search' in their name will be indexed (renamed). rnm ./* -ns '/fn//id/' -fo # file only mode, directories will be ignored. rnm ./* -ns '/fn//id/' -fo -dp -1 # recursive to subdirectories all the way. etc...
我个人使用Ant Renamer和Wine,因为我没有尝试过(Métamorphose,PyRenamer,GPRename,KRename)function强大,易于安装和使用。 它仍然是FOSS,所以我没有看到问题。
Krename
是一个用于重命名文件的KDE GUI,通常可在大多数包管理器中找到。
此答案适用于删除可能在mp3等音乐文件中找到的前导号码。 但Krename
也进行了大规模的重命名。
-
加载选定的文件或文件夹。 Krename加载所选文件夹中的所有文件,只需单击“ 打开”即可,无需单独选择所有文件。
-
转到“
Destination
选项卡以覆盖或将文件复制到另一个文件夹。 -
转到“
Filename
选项卡,然后转到“Advanced Filename
选项卡。 -
首先在
Template
窗口中删除令牌$
。 更改将在下面的Renamed
窗口中进行。 不显示文件名,仅显示文件扩展名。 -
单击“ 插入文件名部分...”,然后选择要保留的文件名部分。 此操作将包括所有文件,并且更改将在下面的
Renamed
窗口中显而易见。 -
单击确定 。 重命名文件时没有前导数字。
-
最后,单击右下角的“完成”。