Linux下批量修改文件名

Linux下批量修改文件名,第1张

Linux下修改文件名有mv和rename。其中mv命令只能对单个文件重命名,这是mv命令和rename命令的在重命名方面的根本区别。

linux的rename命令有两个版本,一个是c语言版本的,一个是perl语言版本的,判断方法:

输入man rename 看到第一行是:

RENAME(1) Linux Programmer’s Manual RENAME(1)

这个就是C语言版本的

而如果出现:

RENAME(1) Perl Programmers Reference Guide RENAME(1) 则是Perl版本的了

C语言版本格式:rename 原字符串 新字符串 文件名

Perl语言版本格式:rename 's/原字符串/新字符串/' 文件名

rename支持正则表达式

例子:

字母的替换 rename "s/AA/aa/" * // 把文件名中的AA替换成aa

修改文件的后缀 rename "s//.html//.php/" * // 把.html 后缀的改成 .php后缀

批量添加文件后缀 rename "s/$//.txt/" * // 把所有的文件名都以txt结尾

批量删除文件名 rename "s//.txt//" * // 把所有以.txt结尾的文件名的.txt删掉

linux下的mv命令可以批量移动文件或文件夹:

批量移动文件到home目录: mv file1 file2 file3 /home/

批量移动文件夹到home目录: mv dir1/ dir2/ dir3/  /home/

批量移动相同类型的文件或文件到到home目录: mv dir*  /home/

请参看 mv --help的帮助信息.

可以用mv -p命令。

如:mv -p /home/vechina/samples/csi8/test_1 test_2 test_3 /home/vechina/samples/csi10

其中:/home/vechina/samples/csi8/是原路径;test_1、test_2、test_3是要移动的文件;/home/vechina/samples/csi10是目标路径。

mv命令介绍:

命令语法:语法:mv[选项]源文件或目录 目标文件或目录。

参数介绍:

-i:交互式 *** 作。如果mv *** 作将导致对已存在的目标文件的覆盖,此时系统会询问是否覆盖,用户输入‘y进行覆盖,输入'n'则不覆盖,这样可以避免误覆盖文件。

-f:禁止交互式 *** 作。在mv *** 作要覆盖某已有的目标文件或目录时不给任何指示,默认覆盖。

如果所给目标文件(不是目录)已存在,此时该文件的内容将后备新文件覆盖,为防止用户用mv命令破坏另一个文件,使用mv命令移动文件时,最好使用i选项。

-b:覆盖文件前先对其进行备份

-S或--suffix=后缀:不理会通常的备份后缀

-u或--update:移动或覆盖目的文件时若日期比目的文件旧,且目的文件已经存在,则不执行覆盖文件命令

-t或--target-directory=目录:移动所以源参数到指定目录

-T或--no-target-directory:将DEST作为普通文件

--help:显示帮助信息

-v或--version:显示版本帮助信息

--verbose:显示执行的详细信息


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7211822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存