linux 批量复制重命名,linux下的文件操作——批量重命名

本文详细介绍了在Linux环境下如何使用命令行进行批量文件重命名的各种操作,包括删除特定后缀、更改文件扩展名、转换大小写、插入或替换字符串等。通过示例代码,展示了如何使用rename、mv、sed等工具高效地管理文件名,极大地提高了工作效率。
摘要由CSDN通过智能技术生成

概述:在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等。文本主要为你讲解如何实现这些操作

1、删除所有的 .bak 后缀:

rename 's/\.bak$//' *.bak

注意,这个命令的格式组织如下:s/   \.bark$   / / 是s/para1/para2/ 这个有点想sed的语法,将para1匹配的字符串换成para2

2、把 .jpe 文件后缀修改为 .jpg:

rename 's/\.jpe$/\.jpg/' *.jpe

3、把所有文件的文件名改为小写:

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

4、将 abcd.jpg 重命名为 abcd_efg.jpg:

for var in *.jpg; do mv "$var" "${var%.jpg}_efg.jpg"; done

其中,此处涉及到shell的字符串匹配操作:

1> ${variable#pattern}

如果pattern匹配variable的开始部分,从variable的开始处删除字符直到第一个匹配的位置,包括匹配部分,返回剩余部分。

2> ${variable##pattern}

如果pattern匹配variable的开始部分,从variable的开始处删除字符直到最后一个匹配的位置,包括匹配部分,返回剩余部分。

3> ${variable%pattern}

如果pattern匹配variable的结尾部分,从variable的结尾处删除字符直到第一个匹配的位置,包括匹配部分,返回剩余部分。

4> ${variable%%pattern}

如果pattern匹配variable的结尾部分,从variable的结尾处删除字符直到最后一个匹配的位置,包括匹配部分,返回剩余部分。

5、将 abcd_efg.jpg 重命名为 abcd_lmn.jpg:

for var in *.jpg; do mv "$var" "${var%_efg.jpg}_lmn.jpg"; done

6、把文件名中所有小写字母改为大写字母:

for var in `ls`; do mv -f "$var" `echo "$var" |tr a-z A-Z`; done

tr:traslate or delete characters

7、把格式 *_?.jpg 的文件改为 *_0?.jpg:

for var in `ls *_?.jpg`; do mv "$var" `echo "$var" |awk -F '_' '{print $1 "_0" $2}'`; done

8、把文件名的前三个字母变为 vzomik:

for var in `ls`; do mv -f "$var" `echo "$var" |sed 's/^.../vzomik/'`; done

9、把文件名的后四个字母变为 vzomik:

for var in `ls`; do mv -f "$var" `echo "$var" |sed 's/....$/vzomik/'`; done

参考:

文本来源:谁不小心的CSDN博客:linux文件操作——批量重命名

使用bat文件实现批量重命名功能

在生活中我们总会碰到对大量文件进行重命名操作,这时如果一个一个的,选取文件→右键→重命名→选取文件,这样操作势必会浪费大量时间. 现在小编就告诉大家一个使用bat文件(命令行)的方法,快速对文件进行重 ...

利用Python对文件进行批量重命名

最近几天工作的内容是对40个项目进行考核,每个项目都需要一个考核评分表,已经有了项目的列表. 如果用常规的方法,需要复制40个文件,并逐个修改,不光工作量大,也容易出错,后期修改也不方便. 于是想到了 ...

使用 nodejs 对文件进行批量重命名

0. 前言 从B站下载了一点视频,硕鼠自动将标题添加到了每个文件名的前面,导致文件名过长,不方面查看文件的具体内容. 虽然只有二十几个文件,但是手动删除前缀还是个不小的工作量,还有可能删除错误.考虑到 ...

linux下的文件操作

彻底删除文件 rm -rf + [文件目录 可相对可绝对] 是彻底删除而且linux无回收站 创建文件 touch + [文件名] 创建文件夹 mkdir + [文件夹名] 文件提权:chmod 77 ...

linux下GBK->UTF-8文件编码批量转换脚本

find default -type d -exec mkdir -p utf/{} \;find default -type f -exec iconv -f GBK -t UTF-8 {} -o ...

Linux下的文件操作——基于文件指针的文件操作(缓冲)

目录操作 创建和删除目录: 原型为: #include #include #include

Linux下的文件操作——基于文件描述符的文件操作(2)

文件描述符的复制 MMAP文件映射 ftruncate修改文件大小 文件描述符的复制 ​ 系统调用函数dup和dup2可以实现文件描述符的复制,经常用来重定向进程的stdin(0), stdout(1 ...

Linux下的文件操作——基于文件描述符的文件操作(1)

概要: 打开.创建和关闭文件 读写文件 文件定位 获取文件信息 打开.创建和关闭文件 函数原型: #include //头文件 #include

利用Python对文件进行批量重命名——以图片文件为例

效果如下:0001号用户的第 i 张图片 代码: import os class ImageRename(): def __init__(self): self.path = 'C:/Users/lb ...

随机推荐

js 用途

嵌入动态文本于HTML页面.[4]  对浏览器事件做出响应.[4]  读写HTML元素.[4]  在数据被提交到服务器之前验证数据.[4]  检测访客的浏览器信息.[4]  控制cookies,包括创 ...

[leetcode]Binary Tree Right Side View

好久不写了,最近忙毕业论文呢. 这个题,就是说一个二叉树,你从右边看,你能看到的数有哪些(会被遮挡) 其实抽象出来就是说...二叉树每层最右边的数有哪些.. 那我们按层遍历一次就好了. /** * D ...

利用python进行折线图,直方图和饼图的绘制

我用10个国家某年的GDP来绘图,数据如下: labels   = ['USA', 'China', 'India', 'Japan', 'Germany', 'Russia', 'Brazil', ...

Centos7 下安装mysql5.7.17(glibc版)

一.安装前的检查 1.1 检查 linux 系统版本 [root@localhost ~]# cat /etc/system-release 1.2 检查是否安装了 mysql [root@local ...

logging 日志

1. 四步: import logging #初始化 logger = logging.getLogger("log_name") #设置级别 logger.setLevel(lo ...

SpringBoot @Aspect

1.添加maven依赖注解 org.springframework.boot ...

Visual Studio控制台程序输出窗口一闪而过的解决方法

转载大牛的博客,自己也遇到了类似的问题,解决方法很详细,也很管用   刚接触 Visual Studio的时候大多数人会写个Hello World的程序试一下,有的人会发现执行结束后输出窗口会一闪而过 ...

CCF认证201803-2 碰撞的小球 java代码实现。

问题描述 数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处.有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒. 当小球到达线 ...

Vim技能修炼教程(2) - 语法高亮速成

语法高亮速成 我们继续在人间修行Vim技能之旅.上一次我们学习了如何通过vundle安装插件,这次我们迅速向写插件的方向挺进. 我们先学习一个最简单的语法高亮插件的写法. 语法高亮基本上是由三部分组成 ...

第二周个人作业:WordCount

github地址 https://github.com/lzwk/WordCount PSP表格 PSP2.1 PSP阶段 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 40 · ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值