for file in $(find . -name "*.del" -type f);do mv "$file" "${file%.del}";done

file=/dir1/dir2/dir3/my.file.txt
我们可以用 ${ } 分别替换获得不同的值:
${file#*/}:拿掉第一条 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:拿掉最后一条 / 及其左边的字符串:my.file.txt
${file#*.}:拿掉第一个 .  及其左边的字符串:file.txt
${file##*.}:拿掉最后一个 .  及其左边的字符串:txt
${file%/*}:拿掉最后条 / 及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:拿掉第一条 / 及其右边的字符串:(空值)
${file%.*}:拿掉最后一个 .  及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:拿掉第一个 .  及其右边的字符串:/dir1/dir2/dir3/my

//集体增加后缀
find . ! -type d |xargs -i mv {} {}.c;
find . ! -type d -exec mv -f {} {}.suf \;

要想把my.file.txt 变成 my.file.cpp
mv "$file" "${file%.*}.cpp"

一.rename解决

1.  Ubuntu系统下

rename 's/\.c/\.h/'  ./*

把当前目录下的后缀名为.c的文件更改为.h的文件

2.  CentOS5.5系统下

rename .c  .h   *.c

把当前目录下的后缀名为.c的文件更改为.h的文件

二.shell 脚本解决

#!/bin/bash

#http://blog.csdn.net/longxibendi
find ./ -name *.c  | while read i
do
        echo "$i";
        mv $i.c  $i.h
done

三.find  xargs 解决

find ./ -name "*.c" | awk -F "." '{print $2}' | xargs -i -t mv ./{}.c  ./{}.h

注意,第三种方案是递归的更改,会更改当前目录下及其子目录下所有匹配文件

rename 后缀的更多相关文章

  1. rename批量修改文件并在后缀前加字段

    rename   's/\.jpg$/generate_badu\.jpg/' * 其中,'.'需要加转义斜杠'\',   '*'代表文件夹下所有文件

  2. Python批量修改文件名-后缀

    LyncLynn用途: 批量修改文件格式,文件名后缀. #Version: V1.0 #Author:lynclynn #Description:Change the filename #Create ...

  3. Linux批量更改文件后缀名

    一.rename解决 1.  Ubuntu系统下 rename 's/\.c/\.h/'  ./* 把当前目录下的后缀名为.c的文件更改为.h的文件 2.  CentOS5.5系统下 rename . ...

  4. linux下批量修改文件名之rename

    最近因为突然用到需匹配更换文件名,发现rename命令真是 简单好用,和sed语法及vim 替换很相似. 1. 更改文件名后缀 rename 's/\.txt/\.html/' * 2.增加文件名后缀 ...

  5. Linux rename命令

    转载:http://blog.csdn.net/sea_shore/article/details/6102437 1.rename命令批量修改文件名, 其实linux下可以使用别的办法来批量修改文件 ...

  6. 批量修改文件后缀(Python)

    近期下载了很多各种教程, 但是不幸的是后缀名都是 ".mp4", 而本人喜欢 ".rmvb" 后缀,由于有轻微洁癖, 受不了后面的 ".mp4&quo ...

  7. 前端资源多个产品整站一键打包&包版本管理(四)—— js&css文件文件打包并生成哈希后缀,自动写入路径、解决资源缓存问题。

    问题: 当我们版本更新的时候,我们都要清理缓存的js跟css,如何使得在网页中不需要手动清理呢? 答案: 生成带有哈希后缀的js跟css文件 1.文件路径 路径中的conf.js 是用于放置全局打包的 ...

  8. python 之 批量替换文件中文本后缀

    代码示例如下: #!/usr/local/bin python import os def swapextensions(dir, before, after): if before[:1] != ' ...

  9. Python批量修改文件名与后缀

    引言: 有时因为文件版本的更新,后缀名会发生变化,例如Word13的docx到Word16的doc,又例如我们想修改音频文件的后缀.一个一个修改后缀名往往很麻烦,于是我们便可以写一个Python的脚本 ...

随机推荐

  1. Linux用户root忘记密码的解决(unbuntu16.04)

    参考: http://www.linuxidc.com/Linux/2012-04/59069.htm http://www.68idc.cn/help/server/linux/2015060735 ...

  2. mysql 字符串类型数字排序

    排序字段+0,类似  Java 把 其他类型转换成字符串 比如 +“”: SELECT    b.tag_value AS NAME,    sum(b.uv) ASVALUE FROM    met ...

  3. 初识AM335X

    TI 的AM335X,linux 操作系统,全都是陌生的东东,一点一点来熟悉吧. 拿的TI代理的一开发板,直接看文档.环境由于之前一同事已经装好了,公司条件受限,没法让我们一人一台ubuntu的机子来 ...

  4. Android FastJson解析

    1.导包 compile 'com.alibaba:fastjson:1.2.21' public static final Object parse(String text); // 把JSON文本 ...

  5. spring注入成员对象

    就是将对象注入到另外一个对象中.这个样例就是有一个学校类,学校类中有一个校长类,最后使用測试文件输出学校类中的信息. 代码结构 学校类 package com.test.SpringGetSet; p ...

  6. win32 api 文件操作!

    CreateFile打开文件要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门. ReadFile从文件中读取字节信息.在打开文件获得了文件句柄之后, ...

  7. TCP的封包与拆包

    对于基于TCP开发的通讯程序,有个很重要的问题需要解决,就是封包和拆包. 一.为什么基于TCP的通讯程序需要进行封包和拆包. TCP是个"流"协议,所谓流,就是没有界限的一串数据. ...

  8. 构建可比较的对象(IComparable)

    IComparable接口 System.IComparable接口指定了一种允许一个对象可基于某些特定键值进行排序的行为. namespace System { [ComVisible(true)] ...

  9. MVC中给TextBoxFor设置默认值和属性

    例如:(特别注意在设置初始值的时候 Value 中的V要大写) @Html.TextBoxFor(model => model.CustomerCode, new { Value=" ...

  10. python面对对象编程----------7:callable(类调用)与context(上下文)

    一:callables callables使类实例能够像函数一样被调用 如果类需要一个函数型接口这时用callable,最好继承自abc.Callable,这样有些检查机制并且一看就知道此类的目的是c ...