方法一:rename修改文件名

rename "finished" "" *.jpg

[root@ob1 scripts]# rename "finished" "" *.jpg

stu_3_finished.jpg

stu_3_.jpg

方法二:截取字符串的方法去除finished 后面的内容结尾添加jpg

[root@ob1 scripts]# vi tmp.sh

#!/bin/bash

for i in `ls *.jpg`

do

mv $i ${i%finished*}.jpg

done

方法三:sed直接修改

[root@ob1 scripts]# ls *.jpg|sed -rn 's#(.*)finished(.*)#mv &  \1\2#gp'

mv stu_3_finished.jpg  stu_3_.jpg

mv stu_4_finished.jpg  stu_4_.jpg

[root@ob1 scripts]# ls *.jpg|sed -rn 's#(.*)finished(.*)#mv &  \1\2#gp'|bash

[root@ob1 scripts]# ls

方法四awk方法拼接字符串

[root@ob1 scripts]# ls *.jpg|awk -F"finished" '{print "mv",$0,$1$2}'

mv stu_3_finished.jpg stu_3_.jpg

mv stu_4_finished.jpg stu_4_.jpg

[root@ob1 scripts]# ls *.jpg|awk -F"finished" '{print "mv",$0,$1$2}'|bash

[root@ob1 scripts]# ls

stu_3_.jpg  stu_4_.jpg

批量改名的多种方法stu_3_finished.jpg 去掉finished,stu_{1..20}_finished.jpg的更多相关文章

  1. 利用shell批量改名和linux中取随机数的方法

    先批量创建文件 #!/bin/sh if [ ! -d /tmp/chenyao ] then mkdir /tmp/chenyao -p fi cd /tmp/chenyao ..} do touc ...

  2. python文件批量改名

    python对文件进行批量改名用到的是os模块中的listdir方法和rename方法. os.listdir(dir)  :获取指定目录下的所有子目录和文件名 os.rename(原文件名,新文件名 ...

  3. [java]借助java.io.File类,完成文件批量改名

    列出某目录下的所有文件,将文件改名,借助java.io.File一个类就可以完成.大家可以发现,代码中的具体方法都是File一个类的. 另外要注意的是,File的全路径名,路径是一致的,父路径其实是文 ...

  4. CSS导航菜单水平居中的多种方法

    CSS导航菜单水平居中的多种方法 在网页设计中,水平导航菜单使用是十分广泛的,在CSS样式中,我们一般会用Float元素或是「display:inline-block」来解决.而今天主要讲解如何让未知 ...

  5. Hibernate批量处理海量数据的方法

    本文实例讲述了Hibernate批量处理海量数据的方法.分享给大家供大家参考,具体如下: Hibernate批量处理海量其实从性能上考虑,它是很不可取的,浪费了很大的内存.从它的机制上讲,Hibern ...

  6. 用 Python 排序数据的多种方法

    用 Python 排序数据的多种方法 目录 [Python HOWTOs系列]排序 Python 列表有内置就地排序的方法 list.sort(),此外还有一个内置的 sorted() 函数将一个可迭 ...

  7. 批量改名工具 Bulk Rename Utility

    好用的批量改名工具 Bulk Rename Utility 功能: 这个工具既可以改文件名,也可以改目录. 使用技巧: 结合前缀4位 数字 可以让文件排列很整齐 例如:         0030 关于 ...

  8. js判断移动端是否安装某款app的多种方法

    本文实例讲解了js判断移动端是否安装某款app的多种方法,分享给大家供大家参考,具体内容如下 第一种方法: 一:判断是那种设备 ? || u.indexOf(; //android终端或者uc浏览器 ...

  9. Gradle学习系列之二——创建Task的多种方法

    在本系列的上篇文章中,我们讲到了Gradle入门,在本篇文章中我们将讲到创建Task的多种方法. 请通过以下方式下载本系列文章的Github示例代码: git clone https://github ...

随机推荐

  1. Android学习系列(12)--App列表之拖拽GridView

    根据前面文章中ListView拖拽的实现原理,我们也是很容易实现推拽GridView的,下面我就以相同步骤实现基本的GridView拖拽效果.     因为GridView不用做分组处理,代码处理起来 ...

  2. R.string获取的是数字或者R.integer数字不对的问题

    String msg = R.string.menu_title; 获取menu_title的String值,但发现这样写报错,原因R.string.menu_title是int类型的,可是通过以下方 ...

  3. C#开发Windows Services服务--服务安装失败的解决办法

    问题1:“System.Security.SecurityException:未找到源,但未能搜索某些或全部事件日志.不可访问的日志: Security.” 正在运行事务处理安装. 正在开始安装的“安 ...

  4. Android 数据加密算法 Des,Base64详解

    一,DES加密: 首先网上搜索了一个DES加密算法工具类: import java.security.*;import javax.crypto.*; public class DesHelper { ...

  5. 文件的内核结构file和dup实现重定向

    一.打开文件内核数据结构 1.一个进程打开两个文件 文件状态标志:读.写.追加.同步.非阻塞等 2.一个进程两次打开同一文件 3.两个进程打开同一文件 示例程序:  C++ Code  1 2 3 4 ...

  6. Linux内核同步 - Read/Write spin lock

    一.为何会有rw spin lock? 在有了强大的spin lock之后,为何还会有rw spin lock呢?无他,仅仅是为了增加内核的并发,从而增加性能而已.spin lock严格的限制只有一个 ...

  7. python标准库介绍——9 copy模块详解

    ==copy 模块== ``copy`` 模块包含两个函数, 用来拷贝对象, 如 [Example 1-64 #eg-1-64] 所示. ``copy(object) => object`` 创 ...

  8. jmeter 发送http请求,并把获取到的请求的订单信息保存到文件中

    有一个任务,需要频繁发送订单请求,并分析订单请求中有没有存在重复订单号,思路是用jmeter 发送http请求,使用正则表达式获取到订单号,并把订单号和线程号作为参数提供给java请求,在java请求 ...

  9. sublim3常用插件安装

    1首先需要安装插件管理器Package Control,点击View > Show Console菜单,输入以下代码,按回车运行即可.说明:以下只对st3有效 import urllib.req ...

  10. 在C#中使用WMI查询进程的用户信息

    这是一个使用WMI查询信息的例子.看之前请对WMI有一个简单的了解,可以百度,或者查看我上一篇:WMI测试器 主要代码:(需要添加对System.Management的引用) //创建Win32_Pr ...