|
发表于 2009-6-22 18:28:41
|
显示全部楼层
Post by pingz;2000176
这种可能性有没有:生成了两个一样的随机数?
肯定会出现重复,随机数范围0-32765,当然,我们可以$RANDOM$RANDOM来加大数目,再用test来判断是否重复。不过好像管道两边的程序是同时开始的,这样ls | 改名,可能会造成改好名字后再被ls”发现“。假设此目录下没有子目录。这样比如你的目录名是“一堆文件”,cd到要更名文件的目录上层。
ls 一堆文件 > ls-result
cd 一堆文件
cat ../ls-result| while read myFileName
do while myNewName=$RANDOM$RANDOM
do if [ ! -e $myNewName ]
then mv $myFileName $myNewName;break
else continue
fi
done
done
应该没什么问题了。最后,改名字是很危险的事情,这里只是提供参考。不负任何责任! |
|