linux 文件重命名_如何在 Linux 上重命名一组文件 | Linux 中国

8178bb7834d7fbeb65396ca4e0352a8f.png要用单个命令重命名一组文件,请使用 rename 命令。它需要使用正则表达式,并且可以在开始前告诉你会有什么更改。-- Sandra Henry-stocker

几十年来,Linux 用户一直使用 mv 命令重命名文件。它很简单,并且能做到你要做的。但有时你需要重命名一大组文件。在这种情况下,rename 命令可以使这个任务更容易。它只需要一些正则表达式的技巧。

与 mv 命令不同,rename 不允许你简单地指定旧名称和新名称。相反,它使用类似于 Perl 中的正则表达式。在下面的例子中,s 指定我们将第一个字符串替换为第二个字符串(旧的),从而将 this.new 变为 this.old

$ rename 's/new/old/' this.new$ ls this*this.old

使用 mv this.new this.old 可以更容易地进行更改一个,但是将字符串 this 变成通配符 *,你可以用一条命令将所有的 *.new 文件重命名为 *.old

$ ls *.newreport.new schedule.new stats.new this.new$ rename 's/new/old/' *.new$ ls *.oldreport.old schedule.old stats.old this.old

正如你所料,rename 命令不限于更改文件扩展名。如果你需要将名为 report.* 的文件更改为 review.*,那么可以使用以下命令做到:

$ rename 's/report/review/' *

正则表达式中的字符串可以更改文件名的任何部分,无论是文件名还是扩展名。

$ rename 's/123/124/' *$ ls *124*status.124 report124.txt

如果你在 rename 命令中添加 -v 选项,那么该命令将提供一些反馈,以便你可以看到所做的更改,或许会包含你没注意的。这让你注意到并按需还原更改。

$ rename -v 's/123/124/' *status.123 renamed as status.124report123.txt renamed as report124.txt

另一方面,使用 -n(或 --nono)选项会使 rename 命令告诉你将要做的但不会实际做的更改。这可以让你免于执行不不想要的操作,然后再还原更改。

$ rename -n 's/old/save/' *rename(logger.man-old, logger.man-save)rename(lyrics.txt-old, lyrics.txt-save)rename(olderfile-, saveerfile-)rename(oldfile, savefile)rename(review.old, review.save)rename(schedule.old, schedule.save)rename(stats.old, stats.save)rename(this.old, this.save)

如果你对这些更改满意,那么就可以运行不带 -n 选项的命令来更改文件名。

但请注意,正则表达式中的 . 不会被视为句点,而是作为匹配任何字符的通配符。上面和下面的示例中的一些更改可能不是输入命令的人希望的。

$ rename -n 's/.old/.save/' *rename(logger.man-old, logger.man.save)rename(lyrics.txt-old, lyrics.txt.save)rename(review.old, review.save)rename(schedule.old, schedule.save)rename(stats.old, stats.save)rename(this.old, this.save)

为确保句点按照字面意思执行,请在它的前面加一个反斜杠。这将使其不被解释为通配符并匹配任何字符。请注意,进行此更改时,仅选择了 .old 文件。

$ rename -n 's/\.old/.save/' *rename(review.old, review.save)rename(schedule.old, schedule.save)rename(stats.old, stats.save)rename(this.old, this.save)

下面的命令会将文件名中的所有大写字母更改为小写,除了使用 -n 选项来确保我们在命令执行之前检查将做的修改。注意在正则表达式中使用了 y,这是改变大小写所必需的。

$ rename -n 'y/A-Z/a-z/' W*rename(WARNING_SIGN.pdf, warning_sign.pdf)rename(Will_Gardner_buttons.pdf, will_gardner_buttons.pdf)rename(Wingding_Invites.pdf, wingding_invites.pdf)rename(WOW-buttons.pdf, wow-buttons.pdf)

在上面的例子中,我们将所有大写字母更改为了小写,但这仅对以大写字母 W 开头的文件名。

总结

当你需要重命名大量文件时,rename 命令非常有用。请注意不要做比预期更多的更改。请记住,-n(或者 --nono)选项可以帮助你避免耗时的错误。


via: https://www.networkworld.com/article/3433865/how-to-rename-a-group-of-files-on-linux.html

作者:Sandra Henry-Stocker 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

6d42bc7c3a664c5ec0462ae5b59ac5a3.png?:还在看吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430945.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring 构造注入 传參数

1. 提供相应的构造方法 //构造器注入 public class Bean6 {private String name;private Integer age;// 服务于构造器注入使用public Bean6(String name, Integer age) {super();this.name name;this.age age;}public void show() {System.out.println("bean6:&…

php正则表达式函数案例,PHP正则表达式函数preg_replace用法实例分析

PHP正则表达式函数preg_replace用法。,具体如下:preg_replace 执行一个正则表达式的搜索和替换语法:preg_replace (pattern ,replacement ,subject,limit,count )参数描述pattern正则表达式(字符串或字符串数组)replacement用于替换的字符串或…

python tk protocol_Python Modbus_tk在树莓派上实现rtu master

利用 python modbus工具实现modbus从站的数据采集,很方便简单。Python Modbus 协议工具目前有下面三种:modbus_tk:完整modbus协议栈的实现,支持modbus tcp/rtu{1.提供slave模拟器,即模拟modbus server:502)…

根据另外一个表来更新,增加字段

update table1 set field1table2.field1,field2table2.field2from table2where table1.idtable2.id添加字段:alter table 表名 add 字段名 类型删除字段:alter table 表名 drop column 字段名转载于:https://www.cnblogs.com/yzwdli/p/5147512.html

html注册跳转php错误500,页面跳转后提示HTTP 异常 500(Internal Server Error):服务器尝试执行请求时遇到了意外情况...

页面跳转后提示HTTP 错误 500(Internal Server Error):服务器尝试执行请求时遇到了意外情况。index.php跳转到chkadmin.php提示(服务器错误网站在检索 http://localhost/shop/admin/chkadmin.php 时遇到错误。 该网站可能关闭进行维护或配置不正确。以下是一些建议&…

python爬虫运行不出结果_请问这个为什么就是爬不到,运行之后电脑卡的不行,求大佬指导...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼import requestsfrom multiprocessing import Poolimport reimport jsonfrom requests.exceptions import ConnectionErrordef get_to_html(url):try:headers {"User-Agent": "Mozilla/5.0 (compatible; MSIE 9.0;…

oracle插入性能优化,Oracle-insert性能优化

看见朋友导入数据,花了很长时间都没完成!其实有很多快速的方法,整理下! 向表中插入数据有很多办法,但是方法不同,性能差别很看见朋友导入数据,,花了很长时间都没完成!其实有很多快速…

python中setup什么意思_一个关于python3中setup.py小概念

一个关于setup.py小概念关于python setup.py bdistpython setup.py sdist两者的区别sdist 指的是source dist 即源码发布,带setup.pybdist 指的是built (binary) dist 即编译过(二进制)发布 不带setup.py查看setup.py各种编译命令参数python setup.py --help-c…

dba_segments和dba_tables的不同

create table tset as select * from dba_objects; select count(*) from tset; select table_name,blocks,empty_blocks from dba_tables where table_name’TSET’; select segment_name,bytes,blocks,extents from dba_segments where segment_name’TSET’; 问题来了&#…

oracle数sqlplus,sqlplus查询oracle数据库数据容量

登录sqlplus:cmd命令行登录:sqlplus orcl/orcl as sysdba查询表空间使用率select b.file_id  文件ID,b.tablespace_name  表空间,b.file_name     物理文件名,b.bytes       总字节数,(b.bytes-sum(nvl(a.bytes,0)))   已使用,sum(nv…

微博air客户端_打磨近十年,接近「完美」的 macOS 第三方微博客户端:Maipo

2020年11月13日,macOS Big Sur正式推送当天,Maipo for 微博也迎来了4.0.0大版本更新。从Weibo for Mac(2011年)、WeiboX(2014年)到Maipo(2017年),跨度近十年,…

oracle 匿名段,这段匿名块看着没什么问题啊

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼一旦执行,无限请求输入,怎么直接结束匿名块的执行而不是ctrlc退出sqlplusDeclarev_id teacher.teacher_id%Type:&teacher_id;v_name teacher.tname%Type:&tname;v_sex teacher.tsex%Type:&tsex;v_birth teacher.tbirth…

sqlserver查看被锁表、解锁

查看别锁表 select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_typeOBJECT解锁方式: 1 declare spid int 2 Set spid 244 --锁表进程 3 declare sql varchar(1000) 4 set sqlkill ca…

python查看各列数据类型_pandas中查看数据类型的几种方式

在获得数据之后、分析数据之前,我们一般需要对数据总体进行一个概览,如有哪些字段,每个字段的类型,值是否缺失等,以下列出了几种方法,供我们方便快捷的查看dataframe的数据类型。1、维度查看:df…

sqlserver oracle插件,SQLServer链接服务器至Oracle

在SQL SERVER中访问ORACLE表的方法在SQL SERVER中,能否访问ORACLE表,进行查询操作呢?答案无疑是可以的,下面就为你介绍在SQL SERVER中访问ORACLE表的实现方法,供您参考。一、配置方法一:通过oracle的sql*ne…

输入框联动查询

目的&#xff1a;类似于百度的搜索联动&#xff0c;输入前面的几个字&#xff0c;查询出可能的结果供用户选择&#xff0c;如下&#xff1a; html部分&#xff1a;在“中”这个输入框下面隐藏一个ul属性&#xff0c;例如: <ul class"am-padding-left-0 uhide" id&…

python经纬度转换xy坐标公式_经纬度坐标转换为距离及角度(Python)

最近项目上有这样的需求&#xff0c;需要依据设备的经纬度坐标计算距离及角度。经验证后效果较好&#xff0c;并分享。1 经纬度转换距离代码#!/usr/bin/env python# -*- coding: utf-8 -*-__author__ Sevenimport math# 计算距离def getDistance(latA, lonA, latB, lonB):ra …

matlab铁路平板车装货问题,两辆铁路平板车的装货问题最终论文

两辆铁路平板车的装货问题摘要&#xff1a;铁路运输部门常常会遇到平板车的装货问题。包装箱的宽度和高度是一样的&#xff0c;厚度是不同的。每种装箱策略都会产生不同的浪费。本文所要讨论的就是怎样装箱&#xff0c;使得浪费最小。本题是个整数规划问题&#xff0c;其特点是…

LoadRunner函数

一、基础函数简介 在VU左边导航栏中&#xff0c;有三个LoadRunner框架函数&#xff0c;分别是vuser_init()、Action()、vuser_end()。这三个函数存在于任何Vuser类型的脚本中。 vuser_init:虚拟用户的初始化函数&#xff0c;一般将用户初始化的操作放在这里&#xff0c;如登录操…

python点击按钮创建进程_python-创建进程的三种方式

1&#xff0c;os.fork() 方法import osret os.fork()if ret 0:#子进程print("Sub process pid %d, Sub process ppid %d" % (os.getpid(), os.getppid()))else:#父进程print("Parent Process ret %d" % ret)print("Parent Process pid %d"…