zhanglang0214 发表于 2004-9-7 15:42:34

因为我红帽的用的比较少。这些功能跟红旗的一样吗?

SEPTEM 发表于 2004-9-7 16:06:24

还是仔细看看man rename吧

elfxx 发表于 2004-12-3 10:48:46

rename {source pattern} {dest pattern} {source file}
你提问前MAN一下好不好啊:)

河豚宝宝 发表于 2004-12-3 14:07:13

#rename .conf .ini *.conf :mrgreen:

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

latam_2008 发表于 2004-12-3 19:07:32

你man 下rename嘛!也许语法有点不同吧!我也用ES 3不过没试过!

kgblhx 发表于 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

latam_2008 发表于 2004-12-10 15:05:12

very good

浪心 发表于 2005-1-5 16:07:57

我认为在Linux中根本不存在什么扩展名。用remove 可以改名的。不过就是不知道怎么批量的改。用s /str1/str2/g 好象就只是用在vi里的。不能用在目录的。不知道这样行不行:remove \*.htm

51photoshop 发表于 2005-1-6 13:00:23

呵呵,MAN确实是个好命令啊

xmlcf 发表于 2005-1-6 14:08:30

rename命令格式很固定
rename xx yy *zz?
固定3个参数,第3个参数使用通配符

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

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

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

watercloud 发表于 2005-2-16 21:36:24

不用rename的话简单点的有:
for f in ./*.HTML;do mv $f ${f%.HTML}.html ;done

watercloud 发表于 2005-2-16 21:45:45

还有一个:
find . -name '*.HTML' -exec mv {} `echo {}|sed 's/\.HTML/\.html/' ` \;

fke7985 发表于 2005-2-18 12:01:18

mv *.HTML *.html

食古不化 发表于 2005-3-4 01:12:34

krename

yunzhongyue 发表于 2005-4-6 11:11:05

呵呵,厲害
页: 1 [2]
查看完整版本: 如何批量修改文件的扩展名?