rename 后缀
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 后缀的更多相关文章
- rename批量修改文件并在后缀前加字段
rename 's/\.jpg$/generate_badu\.jpg/' * 其中,'.'需要加转义斜杠'\', '*'代表文件夹下所有文件
- Python批量修改文件名-后缀
LyncLynn用途: 批量修改文件格式,文件名后缀. #Version: V1.0 #Author:lynclynn #Description:Change the filename #Create ...
- Linux批量更改文件后缀名
一.rename解决 1. Ubuntu系统下 rename 's/\.c/\.h/' ./* 把当前目录下的后缀名为.c的文件更改为.h的文件 2. CentOS5.5系统下 rename . ...
- linux下批量修改文件名之rename
最近因为突然用到需匹配更换文件名,发现rename命令真是 简单好用,和sed语法及vim 替换很相似. 1. 更改文件名后缀 rename 's/\.txt/\.html/' * 2.增加文件名后缀 ...
- Linux rename命令
转载:http://blog.csdn.net/sea_shore/article/details/6102437 1.rename命令批量修改文件名, 其实linux下可以使用别的办法来批量修改文件 ...
- 批量修改文件后缀(Python)
近期下载了很多各种教程, 但是不幸的是后缀名都是 ".mp4", 而本人喜欢 ".rmvb" 后缀,由于有轻微洁癖, 受不了后面的 ".mp4&quo ...
- 前端资源多个产品整站一键打包&包版本管理(四)—— js&css文件文件打包并生成哈希后缀,自动写入路径、解决资源缓存问题。
问题: 当我们版本更新的时候,我们都要清理缓存的js跟css,如何使得在网页中不需要手动清理呢? 答案: 生成带有哈希后缀的js跟css文件 1.文件路径 路径中的conf.js 是用于放置全局打包的 ...
- python 之 批量替换文件中文本后缀
代码示例如下: #!/usr/local/bin python import os def swapextensions(dir, before, after): if before[:1] != ' ...
- Python批量修改文件名与后缀
引言: 有时因为文件版本的更新,后缀名会发生变化,例如Word13的docx到Word16的doc,又例如我们想修改音频文件的后缀.一个一个修改后缀名往往很麻烦,于是我们便可以写一个Python的脚本 ...
随机推荐
- Vagrant网络配置
Vagrant中网络配置 一.基本配置 Vagrant offers multiple options for how you are able to connect your guest machi ...
- the identity used to sign the executable is no longer valid.解决方法
the identity used to sign the executable is no longer valid.解决方法 一.重新下载Provisioning Profile 1.到devel ...
- spring注解方式实现定时器,并且cron表达式中不识别L的方法
1.Spring的配置: <beans xmlns:task="http://www.springframework.org/schema/task" xsi:schemaL ...
- Facebook 开源安卓版 React Native,开发者可将相同代码用于网页和 iOS 应用开发
转自:http://mt.sohu.com/20150915/n421177212.shtml Facebook 创建了React Java 库,这样,Facebook 的工程团队就可以用相同的代码给 ...
- Codeforces 437B The Child and Set
题目链接:Codeforces 437B The Child and Set 開始是想到了这样的情况,比方lowbit之后从大到小排序后有这么几个数,200.100,60.50.S = 210.那先选 ...
- [Javascript] Logging Pretty-Printing Tabular Data to the Console
Learn how to use console.table to render arrays and objects in a tabular format for easy scanning ov ...
- [转] weak_ptr解决shared_ptr环状引用所引起的内存泄漏
http://blog.csdn.net/liuzhi1218/article/details/6993135 循环引用: 引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引 ...
- android strings.xml转义字符, 注意细节解决(转)
XML转义字符 以下为XML标志符的数字和字符串转义符 " (" 或 ") ' (' 或 ') & (& 或 & ...
- Android(java)学习笔记222:开发一个多界面的应用程序之不同界面间互相传递数据(短信助手案例的优化:请求码和结果码)
1.开启界面获取返回值 (1)采用一种特殊的方式开启Activity: startActivityForResult(intent , 0): (2)在被开启的Activi ...
- Android系统移植与驱动开发--第三章 Git使用入门及在学习中有感
第三章 Git使用入门 使用Git的目的是减少各种版本的Linux的压缩大小,提供源代码在Linux上进行编译. 在这一个章节中,其实就是关键步骤的操作,虽然Git与我们学习的android没有很大的 ...