QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: yang2pipi

如何批量修改文件的扩展名?

[复制链接]
发表于 2004-9-7 15:42:34 | 显示全部楼层
因为我红帽的用的比较少。这些功能跟红旗的一样吗?
回复

使用道具 举报

发表于 2004-9-7 16:06:24 | 显示全部楼层
还是仔细看看man rename吧
回复

使用道具 举报

发表于 2004-12-3 10:48:46 | 显示全部楼层
rename {source pattern} {dest pattern} {source file}
你提问前MAN一下好不好啊:)
回复

使用道具 举报

发表于 2004-12-3 14:07:13 | 显示全部楼层
[root@RH9 etc]#rename .conf .ini *.conf

如果文件没有后缀的话,用什么命令批量改名呢?
回复

使用道具 举报

发表于 2004-12-3 19:07:32 | 显示全部楼层
你man 下rename嘛!也许语法有点不同吧!我也用ES 3不过没试过!
回复

使用道具 举报

发表于 2004-12-9 13:16:56 | 显示全部楼层
#!/bin/bash
for f in *.*;
do
ext=`echo $f|awk -F. '{print $2}'`;
base=`basename "$f" .$ext`; mv "$f" "$base".$1; done
回复

使用道具 举报

发表于 2004-12-10 15:05:12 | 显示全部楼层
very good
回复

使用道具 举报

发表于 2005-1-5 16:07:57 | 显示全部楼层
我认为在Linux中根本不存在什么扩展名。用remove 可以改名的。不过就是不知道怎么批量的改。用s /str1/str2/g 好象就只是用在vi里的。不能用在目录的。不知道这样行不行:remove \*.htm
回复

使用道具 举报

发表于 2005-1-6 13:00:23 | 显示全部楼层
呵呵,MAN确实是个好命令啊
回复

使用道具 举报

发表于 2005-1-6 14:08:30 | 显示全部楼层
rename命令格式很固定
rename xx yy *zz?
固定3个参数,第3个参数使用通配符

真确理解:
将满足通配符*zz?(当然通配符有很多表达方式)的所有文件找出;接着在每个找出的文件名中找到含有xx的部分,将xx替换成yy,如果某个找出的文件名没有含有xx就不进行任何操作,如果某个找出的文件名含有多个xx就只将第一个xx替换成yy。

例子:
[root@lcf html]# ls
aabbccaabbcc.html aabb.html bbcc.html ccdd.html tt.txt
[root@lcf html]# rename bb ww *tml
[root@lcf html]# ls
aawwccaabbcc.html aaww.html ccdd.html tt.txt wwcc.html
[root@lcf html]#
说明:先查找符合*tml文件,tt.txt被首先排除;aabbccaabbcc.html有两个bb,但只改了第一个bb为ww,ccdd.html符合前面的通配符,但没有bb部分,因此不动。

顺便说一句,改单个文件名用mv命令。
回复

使用道具 举报

发表于 2005-2-16 21:36:24 | 显示全部楼层
不用rename的话简单点的有:
for f in ./*.HTML;do mv $f ${f%.HTML}.html ;done
回复

使用道具 举报

发表于 2005-2-16 21:45:45 | 显示全部楼层
还有一个:
find . -name '*.HTML' -exec mv {} `echo {}|sed 's/\.HTML/\.html/' ` \;
回复

使用道具 举报

发表于 2005-2-18 12:01:18 | 显示全部楼层
mv *.HTML *.html
回复

使用道具 举报

发表于 2005-3-4 01:12:34 | 显示全部楼层
krename
回复

使用道具 举报

发表于 2005-4-6 11:11:05 | 显示全部楼层
呵呵,厲害
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-3 04:23 , Processed in 0.051385 second(s), 12 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表