您的位置:首页 > 其它

ubuntu下批量修改文件名字

2013-03-09 12:41 260 查看
下面来总结一下 对当前路径下的所有的文档重命名而且想排序的话
1:执行 delete_space.sh
#!/bin/bash

#删除当前路径下所有文件名字中的空格,以"-"代替

find . -type f -name "* *" -print |

while read name;

do

echo "-------1----------";

na=$(echo $name | tr ' ' '_')

if [[ $name != $na ]]; then

#echo $na;

mv "$name" $na;

fi

done

A:看一下当前路径下的文件的名字




B:执行此脚本后




可以清楚的看到以上文件的名字中包含的空格,统统被变成了“-”替代了

2:执行auto_rename.sh,对当前路径下的所有的文件重新命名
#!/bin/bash

#修改当前路径下的文件的名字,前面给其加上一个序号

declare -i num=0;

for name in `ls`

do

mv -f $name `echo $num"_"$name`;

num=num+1;

done
当执行完重命名脚本后,文件的名字如下




可能有人会纳闷,为什么要先给文件中的名字去掉空格,然后在按照序号给文件修改名字呢?现在假设先执行auto_rename.sh,请看下图








系统提示“没有xxx文件/文件夹”

为什么会出现上面的提示呢????
原因很简单,auto_rename.sh不能对 名字当中包含空格的文件进行重命名,大家是不是看到了这样的结果啊,其实为了解决这个问题,我才在执行此脚本之前先运营另一个脚本,把 名字中的空格给去掉/或者变成飞空格,即可
本文出自 “东哥-怎么做” 博客,请务必保留此出处http://dong4716138.blog.51cto.com/5136637/1150692
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: