Linux下重命名修改文件名的命令有哪些?

您所在的位置:网站首页 linux修改目录名称的命令 Linux下重命名修改文件名的命令有哪些?

Linux下重命名修改文件名的命令有哪些?

2023-05-05 16:49| 来源: 网络整理| 查看: 265

linux更改文件名的命令有两个:1、mv命令,既可以重命名文件linux修改文件名字命令,又可以联通文件或文件夹,更改句型“mv[参数]旧文件名新文件名”;2、rename命令linux命令行,可用字符串替换的形式批量改变文件名,句型“rename[参数]旧文件名新文件名”。

linux系统修改文件名字_linux修改文件名字命令_linux修改网关命令

本教程操作环境:CentOS6系统、DellG3笔记本。

在Linux下重命名文件或目录,可以使用mv命令或rename命令,这儿分享下两者的使用技巧。

1、使用mv命令

mv命令既可以重命名,又可以联通文件或文件夹。

mv [参数] 旧文件/目录 新文件名/目录

登陆后复制

事例:将目录A重命名为B

mv A B

登陆后复制

linux修改文件名字命令_linux修改网关命令_linux系统修改文件名字

事例:将/a目录联通到/b下,并重命名为c

mv /a /b/c

登陆后复制

虽然在文本模式中要重命名文件或目录,只须要使用mv命令就可以了,例如说要将一个名为abc的文件重命名为1234:

mv abc 1234

登陆后复制

注意,假若当前目录下也有个1234的文件的话linux修改文件名字命令,这个文件是会将它覆盖的。

怎样使用mv命令重命名多个文件?

mv命令一次只能重命名一个文件linux vps,但它可以与其他命令一起使用,比如find在bashfor或while循环来重命名多个文件。

示例:怎样通过使用bashfor循环来重命名当前目录中的所有.html文件,将.html扩充名修改为.php。

for f in *.html; do mv -- "$f" "${f%.html}.php" done

登陆后复制

让我们逐行剖析代码:

●第一行创建一个for循环并遍历一个包含所有文件的列表.html。

●第二行适用于列表中的每位项目和文件联通到一个新的替换.html用.php。该部份${file%.html}使用shell参数扩充.html从文件名中删掉部份。

●done表示循环段的结束。

我们也可以mv结合使用该命令find来实现与前面相同的功能。

find . -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' ;

登陆后复制

find命令使用该开关将所有.html以当前目录结尾的文件mv一个接一个地传递给命令-exec。该字符串{}是当前正在处理的文件的名称。

前面的示例中可以看出,使用该mv命令重命名多个文件并不是一件容易的事,由于它须要挺好地了解Bash脚本。

2、使用rename命令

rename命令用字符串替换的形式批量改变文件名。

# 将main1.c重命名为main.c rename main1.c main.c main1.c

登陆后复制

? 可替代单个字符 * 可替代多个字符 [charset] 可替代charset集中的任意单个字符

登陆后复制

linux修改网关命令_linux修改文件名字命令_linux系统修改文件名字

文件夹中有这种文件foo1,…,foo9,foo10,…,foo278

假如使用renamefoofoo0foo?,会把foo1到foo9的文件重命名为foo01到foo09,重命名的文件只是有4个字符宽度名称的文件,文件名中的foo被替换为foo0。

假如使用renamefoofoo0foo??,foo01到foo99的所有文件都被重命名为foo001到foo099,只重命名5个字符宽度名称的文件,文件名中的foo被替换为foo0。

假如使用renamefoofoo0foo*,foo001到foo278的所有文件都被重命名为foo0001到foo0278,所有以foo开头的文件都被重命名。

假如使用renamefoo0foofoo0[2]*,从foo0200到foo0278的所有文件都被重命名为foo200到foo278,文件名中的foo0被替换为foo。

# 把文件名中的AA替换成aa rename "s/AA/aa/" * # 把.html 后缀的改成 .php后缀 rename "s//.html//.php/" * # 把所有的文件名都以txt结尾 rename "s/$//.txt/" * # 把所有以.txt结尾的文件名的.txt删掉 rename "s//.txt//" *

登陆后复制

默认情况下,重命名命令不会覆盖现有文件;但传递-f参数就可以容许覆盖现有文件。

rename -f 's/.html/.php/' *.html

登陆后复制

常见的使用rename命令示例

用顿号替换文件名中的空格

rename 'y/ /_/' *

登陆后复制

将文件名转换为大写

rename 'y/A-Z/a-z/' *

登陆后复制

将文件名转换为小写

rename 'y/a-z/A-Z/' *

登陆后复制



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3