首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 其他服务器 >

solaris 批量改文件名解决思路

2012-03-01 
solaris 批量改文件名如题, solaris和unix很多命令都是通用的,我看了网上一个命令的用法,不是很理解,希望

solaris 批量改文件名
如题, solaris和unix很多命令都是通用的,我看了网上一个命令的用法,不是很理解,希望高手指导 
$ for f in filelist ... ; do mv $f ${f/fromtext/totext} ; done 

我想把c2t0d0s0 c2t0d0s1 c2t0d0s2 三个文件改为c1t0d0s0 c1t0d0s1 c1t0d0s2 
请问如何实现,上面的命令解释不是很明白,最好能说明下. 


有朋友写了下面的代码,本人还是看不懂. 
for f in c2t0d0s0 c2t0d0s1 c2t0d0s2 
do 
f2=`echo $f|sed "s/c2/c1/g"` //用sed把f中的c2替换成c1,存在f2 
#echo $f2 
mv $f $f2 //改名 
done 

上面的代码echo出现我需要的文件名,但是mv不成功,出现missing file argue

[解决办法]
这段代码没问题的,你再好好试试。
for f in c2t0d0s0 c2t0d0s1 c2t0d0s2 
do 
f2=`echo $f|sed "s/c2/c1/g"`
#echo $f2 
mv $f $f2
done
[解决办法]
可以,例如:for f in `ls c2*`,注意`ls c2*`是取命令执行后的结果

热点排行