Shell批量改名

转载 2012年03月23日 16:50:35
========================================================================================
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
-v, --verboseVerbose: print names of files successfully renamed.
-n, --no-actNo Action: show what files would have been renamed.
-f, --forceForce: overwrite existing files.
简单的rename使用命令:
字母的替换
rename "s/AA/aa/" *             //把文件名中的AA替换成aa
修改文件的后缀
rename "s/.html/.php/" *     //把.html 后缀的改成 .php后缀
批量添加文件后缀
rename "s/$/.txt/" *             //把所有的文件名都以txt结尾
批量删除文件名
rename "s/.txt//" *               //把所有以.txt结尾的文件名的.txt删掉

一条命令:
rename "s/.JPG/.jpg/" *
就完成了全部工作。

========================================================================================
用法:

1.将你要改名的文件都放在同一个文件夹下,运行”ls -l > oldnames”,然后“vi oldnames”,这时候看到的大概是这个样子:

total 1224
drwxrwxr-x   3 yanpeng yanpeng    4096 Sep 17 16:13 app
drwxrwxr-x   2 yanpeng yanpeng    4096 May 19  2009 bin
drwxrwxr-x   2 yanpeng yanpeng    8192 Jan 26 16:40 docpay
2.输入”ctrl+v”,移动光标,选中要删除的那一堆内容,其实就是文件名前面的那些列,输入“d”,得到的文件大概为

app
bin
docpay
3.删除掉第一行的空行,保存退出vi,然后”cp oldnames newnames”。

4.修改newnames文件中想要改名的文件为新文件名

5.将change_name.sh脚本放在你的那个放置文件的夹下,运行./change_name.sh就可以了(注意有执行权限,加执行权限的方法chmod a+x change_name.sh)

change_name.sh脚本内容,拷贝下,存好就能用了


#!/bin/sh

OLDNAMES='oldnames'
NEWNAMES='newnames'

fileline=`sed -n '$=' $OLDNAMES`
echo $fileline

index=1
while [ $index -le $fileline ]
do
oldname=`sed -n "${index}p" $OLDNAMES`
newname=`sed -n "${index}p" $NEWNAMES`
mv $oldname $newname
index=`expr $index + 1`
done
========================================================================================

转自:

http://blog.chinaunix.net/uid-23915916-id-2653226.html

文件批量重命名的方法,图解很多文件改名

如何批量重命名文件?是很多人经常为遇到的问题,如果靠人工一个一个去修改文件名,不仅改名慢,而且改起名来枯燥的很,使用批量重命名软件,可以提高90%的文件改名效率。下面,为大家介绍一款批量重命名文件的软...

windows 批量改名小工具

1. 前言最近老板让师弟写一个程序把制定目录下的tif 文件全部重命名为 1, 2, 3 的形式。 觉得好简单, 于是动手写了一下。 基本思路就是遍历文件夹下的文件名称, 然后通过调用 rename...

批处理学习--文件批量改名

有时我们硬盘中存在大理相同类型文件,如果需要对这类文件按照统一格式重新命名时,将会时一个非常繁锁的过程。 此时如果借助批处理,那么您可以快速的完成此项任务。 具休实现过程,可参照如下示例代码:(友情提...

批量改名六大神技

批量改名六大神技shell实例1:改名指令rename的用法如下:[root@ChangerLee 批量改名]# touch file_{1..10}[root@ChangerLee 批量改名]# l...

Linux文件批量改名/排序总结(rename,sort等)

linux下文件批量化改名时使用一些命令可以比较简单快捷1. 文件名前补0linux 下的rename命令可以使用正则表达式进行匹配。举例 for i in {1..100}; do touch...
  • jaye16
  • jaye16
  • 2017年07月18日 21:34
  • 311

最易读的Total Commander教程——搜索与批量改名

引言:   上一讲介绍了TC的压缩功能,并以压缩程序插件为例,初步介绍了TC的插件功能。   本讲介绍TC的两大功能:搜索、批量文件改名。并结合这些内容,补充文件内容插件、更改快捷键的知识。  ...

使用脚本方便批量改名的应用

文件夹名字包含空格,这个在Linux终端下使用的时候不是很方便,于是萌生了使用前些日子刚学的脚本进行批量处理, 可以看到,有些文件夹中间是存在空格的,有些不存在空格,现在的任务就是把文件名中间的空...
  • M_S_C
  • M_S_C
  • 2013年07月30日 17:43
  • 693

【实现】Java实现的文件批量改名

题记:在贺利坚老师的博文讲座:与迷茫为友的成长

linux 命令处理批量改名操作

如何用一条命令实现重命名某个文件夹(包括子文件夹)内的文件
  • loseleo
  • loseleo
  • 2013年07月13日 23:37
  • 10147

用rename命令给批量文件改名

原文链接:http://www.jb51.net/LINUXjishu/240112.html Linux的 rename 命令有两个版本,一个是C语言版本的,一个是Perl语言版本的,早期的L...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Shell批量改名
举报原因:
原因补充:

(最多只允许输入30个字)