Linux下批量修改文件名

简介: Linux下批量修改文件名

方法一:Rename函数

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删掉


方法二:mv函数

在文件夹shell下创建文件10个文件

touch tmp_{1..10}.txt

找到含有“_“”的文件夹。

find ./ -name "*_*"

读取id, 用mv改名,$为自己理解为赋值后的id,格式为

find ./ -name "*_*" | while read id 
do 
mv $id ${id/_/-}
done


相关文章
|
7月前
|
Linux
linux如何查找指定文件名
linux如何查找指定文件名
|
4月前
|
Linux
linux 删除乱码文件名的文件
【8月更文挑战第26天】当遇到文件名显示为乱码,导致无法正常通过键盘输入文件名进行删除操作时,可以利用鼠标的复制功能配合`rm`命令实现删除。对于文件夹的删除,可使用`rm -rf 目录名`。然而,有时这种方式仍无法删除某些特殊乱码文件,这时可以通过获取文件的i节点号(使用`ls -i`或`ll -i`命令查看)并执行`find -inum [节点号] -delete`来进行删除。这种方法特别适用于处理那些因文件名问题而难以删除的情况。
185 2
|
6月前
|
Linux
linux不同场景下修改文件名的五种方法
linux不同场景下修改文件名的五种方法
120 1
|
5月前
|
存储 Linux
Linux文件的上和下,FinalShell文件右键可下文件,先选择root文件夹,然后把他文件往里面拖动,就可以下载了,命令下载,ls -l可以看当前文件目录,sz 文件名可下载,tab补,rz出上
Linux文件的上和下,FinalShell文件右键可下文件,先选择root文件夹,然后把他文件往里面拖动,就可以下载了,命令下载,ls -l可以看当前文件目录,sz 文件名可下载,tab补,rz出上
|
7月前
|
Linux
|
7月前
|
Linux Perl
Linux|sed命令花式批量修改文件
Linux|sed命令花式批量修改文件
214 0
|
安全 Linux
6.Linux文件管理命令---mv更改文件名
6.Linux文件管理命令---mv更改文件名
145 0
|
Linux Shell 开发工具
3.Linux文件管理命令-----ls显示文件名
3.Linux文件管理命令-----ls显示文件名
|
Linux
记录一个解决Arm Linux端U盘挂载时文件名显示乱码、Qt显示乱码的问题
记录一个解决Arm Linux端U盘挂载时文件名显示乱码、Qt显示乱码的问题
355 0
Linux系列——文件名多一个空格怎么去掉?
Linux系列——文件名多一个空格怎么去掉?