在linux中给文件重命名,在Linux中,如何重命名文件和目录
重命名文件和目录在Linux系统上执行的最基本的任务之一,可以使用GUI文件管理器或命令行终端重命名文件。
重命名单个文件很容易,但是一次重命名多个文件会是一个挑战,特别对于新接触Linux的用户。
在本教程中,向你展示如何使用mv和rename命令重命名文件和目录。
使用mv命令重命名文件
mv命令用于将文件从一个位置重命名或移动到另一个位置,mv命令的语法如下所示:mv [OPTIONS] source destination
source可以是一个或多个文件,或者目录,而destination可以是单个文件或目录,如果将多个文件指定为source,就destination必须是一个目录,在这种情况下,SOURCE文件被移动到目标目录
如果将单个文件指定为SOURCE,并且DESTINATION目标是现有目录,那么这个文件将移动到指定的目录
要重命名文件,你需要将单个文件指定为source,并将单个文件指定为destination目标
例如要将文件file1.txt重命名为file2.txt,你将运行:mv file1.txt file2.txt
使用mv命令重命名多个文件
mv命令一次只能重命名一个文件,但可以与其他命令(例如find或bash for, while循环)结合使用,以重命名多个文件。
下面的示例演示如何使用Bash for循环将.html扩展名更改为.php,重命名当前目录中的所有.html文件。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命令使用mv选项将当前目录中以.html结尾的所有文件逐个传递给-exec,字符串{}是当前正在处理的文件名。
从上面的示例中可以看到,使用mv命令重命名多个文件并不是一件容易的事情,因为它需要对Bash脚本编程有很好的了解。
使用rename命令重命名文件
rename命令用于重命名多个文件,此命令比mv高级,因为它需要一些正规表达式的基本知识。
有两种不同语法的rename命令版本,在本教程中,使用Perl版本的rename命令,如果你的系统上没有安装此版本,你可以使用发行版的包管理器轻松安装它。
在Ubuntu和Debian上安装renamesudo apt install rename
在CentOS和Fedora上安装renamesudo yum install prename
在Arch Linux上安装renameyay perl-rename ## or yaourt -S perl-rename
rename命令的语法如下所示:rename [OPTIONS] perlexpr files
rename命令将根据指定的perlexpr正则表达式重命名files,你可以阅读有关perl正规表达式的更多信息这里,
以下示例将扩展名为.html的所有文件更改为.php:rename 's/.html/.php/' *.html
可以使用-n选项打印要重命名的文件的名称,而无需重命名它们。rename -n 's/.html/.php/' *.html
输出将类似于以下内容:rename(file-90.html, file-90.php)
rename(file-91.html, file-91.php)
rename(file-92.html, file-92.php)
rename(file-93.html, file-93.php)
rename(file-94.html, file-94.php)
默认情况下,rename命令不覆盖现有文件,传递-f选项以允许现有文件重写:rename -f 's/.html/.php/' *.html
以下是使用rename命令的一些更常见的示例:
用下划线替换文件名中的空格rename 'y/ /_/' *
将文件名转换为小写rename 'y/A-Z/a-z/' *
将文件名转换为大写rename 'y/A-Z/a-z/' *
结束语
我们向你展示了如何使用mv和rename命令重命名文件。
当然,还有其他命令可以在Linux中重命名文件,例如mmv。
如果你有问题或反馈,请留下评论。
在linux中给文件重命名,在Linux中,如何重命名文件和目录相关推荐
- linux移动或重命名命令,Linux移动文件或重命名的命令是什么
1. mv命令简介 本文主要是讲解如何使用mv命令对Linux文件进行重命名和剪切以及讲解mv命令常见使用方法.mv命令是move的缩写,可以用来移动文件或者将文件改名.mv命令是最常用的Linux命 ...
- linux 文件 重命名 缓存,linux – rename()原子性和NFS?
参考: Is rename() atomic? 我问的是类似的东西,但不完全相同,因为我想知道的是在使用NFS时依赖于rename()的原子性是否安全? 这是我正在处理的一个场景 – 我有一个必须始终 ...
- python对多个文件统一重命名删除名中部分字符
python对多个文件统一重命名删除名中部分字符 ** 因为有的时候网上找到的压缩包解压后的文件很乱,文件名太长,多了很多不需要的字,不方便查看, 出于想快捷删除文件名中部分字的简单需求,很久前编写了 ...
- 批量重命名 教你使用替换功能 将文件名称中特定符号进行替换
在工作中,我们经常需要批量修改一堆文件名称中指定字符的场景,比如把文件中的符号进行替换,如何只是很少的文件,我们手动进行修改也是非常方便的,但是当文件量非常大的时候,我们就需要借助工具来完成,小编今天 ...
- linux 把一个文件夹重命名后,移动到另外一个文件夹下
linux 把一个文件夹重命名后,移动到另外一个文件夹下 mv /ssd1/AAA/PBMC_rat/RAT/index /ssd1/zhihengfeng/PBMC_rat/star
- 重新命名的linux命令,Linux 重命名命令自制详细介绍
Linux 重命名命令 相比于Windows上的ren命名,Linux还真的是没有一个特定的重命名的命令.(虽然可以间接的使用mv来实现).下面我就来自己写一个简单的重命名命令. 准备工作 操作系统: ...
- 使用pandas批量重命名(指定Excel中的对应列)
tags: Python Pandas Excel Tips 写在前面 今天有个朋友问我有没有一种简单的方法将Excel中的学号和姓名列作为文件名, 批量重命名100个Word文档, 下面是具体的文件 ...
- linux如何提取文件名称,如何在Linux中提取路径和文件名的特定部分
我目前的任务是将跨多个目录的大量文件重命名为不同的标识符.如何在Linux中提取路径和文件名的特定部分 所以我有几个目录,如:B01,B02,B03等,在每个目录的文件名如img01.23495.pn ...
- linux上传文件命令ftp put,Linux ftp 命令行中下载文件get与上传文件put的命令应用详解...
介绍:从本地以用户anok登录的机器192.168.0.16上通过ftp远程登录到192.168.0.6的ftp服务器上,登录用户名是peo.以下为使用该连接做的实验. 查看远程ftp服务器上用户pe ...
最新文章
- Cloneable接口和循环冗余校验算法
- oracle数据库定时任务
- 程序员面试题100题第19题——反转链表
- Codeforces round 1083
- 朱宁:70%散户跑不赢大盘?因为机构利用了他们的错误
- 客户旅程_我如何充分利用freeCodeCamp的旅程
- 天地与我并存/万物与我为一 2
- wordpress 评论ajax,WordPress教程 WordPress实现提交评论ajax翻页效果教程
- 石青建站养站大师 v1.8.6.1
- 计算机软著研究生毕业,关于研究生推免工作科研成果和竞赛计分详细说明
- Log4j和Slf4j的比较
- 思科首席技术官解析:统一计算及战略
- 使用itextpdf将多个PDF文件合并为一个PDF文件
- 左耳朵耗子:程序员练级攻略
- EXCEL对比两列中查找相同的数据
- leetcode#8 deterministic finite automaton, DFA
- pytorch训练时报input size错误问题
- Android心率测试
- WebForm:毒药还是利器?
- 基于java web和echarts的数据可视化项目
热门文章
- Redis 基础 -- 有序集合 SortedSet类型 和 SortedSet类型的常用命令
- win10开始菜单和cortana无法工作怎么办 win10关键错误解决方法
- android 画 月牙曲线,牙齿矫正真能改变脸型?这四类人最有发言权
- unity Shader Graph实现2D图片扭曲波纹效果
- 第三方平台标识头像数据库设计参考
- 赶紧收藏,一天剪辑10条视频收益400多,分享这3大自媒体工具
- MICK-SQL基础教程(第二版)第七章 集合运算
- 2020 - [Java基础 +多线程 + 虚拟机] + [计网 + 操作系统] + [MySQL] + [Redis] + [RocketMQ] + [Spring]常见面试题与解析
- 跳一跳高分秘籍 | 2017年的最后一篇文章
- 计算机网络实验哈工大威海,哈工大威海计算机网络实验1试编.doc