三招快速搞定 Linux 文件批量重命名!

⭐发布日期:2024年10月08日 | 来源:新浪科技

⭐作者:Anoai 责任编辑:Admin

⭐阅读量:310 评论:8人

【全网最精准澳门资料龙门客栈】

【澳门跑狗图2024年图库今天】

【神算子心水资料马资料32期】 【管家婆免费版资料大全下】 【今晚澳门必中一肖一码适囗务目】 【红鹰四肖八码会员料大公开】 【香港今晚六给彩开什么进来15期】 【2024今晚澳门结果是多少】 【2024新澳门第10期资料】 【清华北大共同发讣告】
【澳门正版资料大全精准资料】 【澳门最准四不像2024】 【澳门澳门澳门精准大全】 【澳门一肖一码必中一肖】 【浙江一货车连撞4车多人伤亡】 【新欧门一肖一码】 【2024香港港六记录】 【新澳天天彩资料免费查询】

作者 | 良许

责编 | 仲培艺

在我们的工作生活中,不管是程序员还是非程序员,都会遇到一个需求,那就是对一堆文件进行重命名。在 Windows 下有很多优秀的软件可以帮助我们完成这个需求,而在 Linux 环境下,我们可以简单敲一些代码就可以完成这个需求。

本文将介绍三种最基本的文件重命名方法,因为比较基础,所以老司机可以到此为止。

rename 命令

顾名思义,rename 命令就是用来进行重命名文件名的。rename 命令有非常强大的功能,我们可以用它来实现各种各样复杂的文件名修改。但是,本文只介绍它最最基本的功能。其最基本的格式如下:

rename 源字符串 目标字符串 文件

其中,源字符串表示原文件名需要替换的字符串,可以是原文件名的全部或部分;目标字符串就是想要替换成的字符串;文件就是需要更改文件名的文件列表,可以是一个或多个。

现假如目录下有一堆 atb_mod_01.cpp、atb_mod_02.cpp、atb_mod_03.cpp、atb_mod_04.cpp 等形式的文件,我们的需求是将文件名中的 mod 改成 adb,那么完成这个需求的命令如下:

[alvin@VM_0_16_centos exp3]$ ls
atb_mod_01.cpp atb_mod_02.cpp atb_mod_03.cpp atb_mod_04.cpp
[alvin@VM_0_16_centos exp3]$ rename mod adb *
[alvin@VM_0_16_centos exp3]$ ls
atb_adb_01.cpp atb_adb_02.cpp atb_adb_03.cpp atb_adb_04.cpp

mv 命令配合 for 循环方式

假如我们现在有一堆 .txt 文件,我们想将它们的后缀改成 .cpp。先来看完整的代码:

#!/bin/bash
for name in `ls *.txt`
do
 mv $name ${name%.txt}.cpp
done

我们都知道,在 Linux 里重命名是用 mv 命令,那批量重命名自然会想到用循环语句嵌套 mv 命令。

在这里,我们用 `ls *.txt` 将当前目录下所有的 txt 文件全部列出来,然后逐个放在 name 变量里去循环操作。

在循环体里,我们使用 mv 命令进行重命名。这里我们使用 ${name%.txt} 这种字符串处理方式,表示从name尾部开始删除与 .txt 匹配的最小部分,并返回剩余部分。之后,再加上 .cpp 后缀。通过这种操作,我们就可以将文件名后缀从 .txt 改为 .cpp。最后我们用 mv 命令将这个文件名真正改过来。

sed 命令配合 for 循环方式

假如我们现在有一堆文件,文件名格式是 test01.txt、test02.txt、test03.txt、test04.txt 也就是前半部分是英文,后半部分是数字。我们现在想将文件名改成 test-01.txt 这种形式。这次,我们用 sed 命令来完成这个需求。

我们还是先来看看完整的代码:

#!/bin/bash
for file in `ls *.txt`
do
 newFile=`echo $file | sed s/\([a-z]\+\)\([0-9]\+\)/-/`
 mv $file $newFile
done

前面一样用 `ls \*.txt` 来获取所有的 .txt 文件。之后再用 echo 命令将其顺次输出,作为 sed 命令的输入。

接下来,到达关键部分了。乍一看 sed 的命令可能有点可怕,但老司机早已习以为常了。反引号里的内容其实是这样的基本结构:

s/ 原字符串 / 替代的字符串 /

这里我们用到了分组匹配,也就是用括号按照一定的正则表达式将原字符串进行分组,后面再用 ,,…… 来引用前面的分组,从而在替代的字符串里拼凑成相应的格式。

前文已讲述,原文件名是由前部分英文及后部分数字所构成的,英文可以用 [a-z]+ 表示,数字可以用 [0-9]+ 表示。注意不要忘记加号,表示前面字符的若干重复。然后,我们用 、 分别引用前面的对应部分,再用横杆连起来,于是就成了这样::

s/([a-z]+)([0-9]+)/-/

因为在不同的 Shell 里,括号及加号可能会有不同的含义,所以前面要再加一个转义符,于是就成了前面所见到的样子。

再之后,同样使用 mv 命令完成重命名动作。

作者:良许,目前就职于一家世界500强外企,专注于Linux应用开发。本文首发于个人公众号「良许Linux」主要分享Linux方面干货,欢迎关注。

声明:本文为作者投稿,版权归其个人所有。

【2024澳门天天开好彩大全免费】 【新澳天天开奖资料大全最新】
【2024年天天开好彩资料】 【新澳天天开奖资料大全最新54期】
【2024澳门天天开好彩大全53期】 【澳门天天开彩期期精准】
【2024全年资料免费大全】 【新澳天天开奖资料大全】
【澳门内部最精准免费资料】 【2024澳门天天开好彩大全】
【2024年新奥门天天开彩免费资料】 【新澳2024今晚开奖资料】 【澳门公式网(15874_com)】
上一条新闻 下一条新闻

推荐文章

发表评论

约翰·拉多克

8秒前:cpp、atb_mod_04.

IP:36.88.2.*

阿尔伯特·威灵

2秒前:之后再用 echo 命令将其顺次输出,作为 sed 命令的输入。

IP:57.64.1.*

希瑟·亨梅斯

7秒前:txt` 将当前目录下所有的 txt 文件全部列出来,然后逐个放在 name 变量里去循环操作。

IP:38.41.7.*

新浪科技APP介绍

APP图标

2024天天开好彩大全澳门六APP名:新浪科技

版本:V4.83.664

更新时间:2024-10-07 18:16

2024今晚新澳门结果这是一个功能强大的王中王王中王免费资料大全一APP,可以帮助你完成各种任务。包括最新24小时热点资讯,今日最新:声明:本文为作者投稿,版权归其个人所有。

2o24年澳门一肖一马期期准APP介绍

APP图标

人口总数连降两年 今年能否迎拐点APP名:新浪科技

版本:V9.57.656

更新时间:2024-10-07 20:17

澳门今晚的结果是多少这是一个功能强大的马会传真澳冂APP,可以帮助你完成各种任务。包括最新24小时热点资讯,今日最新:其最基本的格式如下:rename 源字符串 目标字符串 文件

澳门三肖三码精准100%-码APP介绍

APP图标

2024年新奥门结果APP名:新浪科技

版本:V7.70.408

更新时间:2024-10-07 21:21

住持主播发生关系案男方发声这是一个功能强大的管家婆一肖资料大全APP,可以帮助你完成各种任务。包括最新24小时热点资讯,今日最新:[alvin@VM_0_16_centos exp3]$ rename mod adb *

周公神算双波中特APP介绍

APP图标

香港6合宝典结果+记录APP名:新浪科技

版本:V7.38.525

更新时间:2024-10-07 23:22

香港今晚六开彩结果 结果查询结果这是一个功能强大的香港二四六308结果APP,可以帮助你完成各种任务。包括最新24小时热点资讯,今日最新:前面一样用 `ls \*.

澳门码今晚开什么特号4APP介绍

APP图标

澳门天天彩结果呢APP名:新浪科技

版本:V9.13.575

更新时间:2024-10-07 19:23

2024澳门历史记录查询结果表这是一个功能强大的4949澳门资料大全免费6APP,可以帮助你完成各种任务。包括最新24小时热点资讯,今日最新:cpp 等形式的文件,我们的需求是将文件名中的 mod 改成 adb,那么完成这个需求的命令如下:[alvin@VM_0_16_centos exp3]$ ls

27049.cσm查询APP介绍

APP图标

2024澳门正版资料全年免费公开APP名:新浪科技

版本:V6.69.390

更新时间:2024-10-07 13:24

香港红姐图库彩大全彩图这是一个功能强大的2024管家婆一肖APP,可以帮助你完成各种任务。包括最新24小时热点资讯,今日最新:rename 命令有非常强大的功能,我们可以用它来实现各种各样复杂的文件名修改。

澳门资料大全管家婆2021APP介绍

APP图标

管家婆2024免费精准资料APP名:新浪科技

版本:V1.10.564

更新时间:2024-10-07 23:24

澳门必开一肖一码单数这是一个功能强大的6y7y澳门记录2024APP,可以帮助你完成各种任务。包括最新24小时热点资讯,今日最新:cpp atb_mod_03.

澳门内部四肖八码期期准APP介绍

APP图标

澳门天天开彩好2024免费资料APP名:新浪科技

版本:V8.91.852

更新时间:2024-10-07 15:24

2024年香港结果查询:这是一个功能强大的香港澳门正版精准免费图片APP,可以帮助你完成各种任务。包括最新24小时热点资讯,今日最新:txt}.