LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 607|回复: 4

求教一个技术问题

[复制链接]
发表于 2011-3-27 22:07:02 | 显示全部楼层 |阅读模式
现在有1000个文件,文件名是:ABC0001, ABC0002, ABC0003...ABC1000
请问如何批量给这些文件重命名呢?去除前面的ABC。最后文件明是:0001,0002...1000

非常感谢
发表于 2011-3-27 22:46:22 | 显示全部楼层
rename ABC "" *
回复 支持 反对

使用道具 举报

发表于 2011-3-28 09:36:36 | 显示全部楼层
运行下面的脚本:
#!/bin/sh

for filename in ABC*
do
                newfilename=`echo $filename | sed -n 's/ABC//p'`
                    mv $filename $newfilename
            done

            exit 0
回复 支持 反对

使用道具 举报

发表于 2011-3-28 09:50:11 | 显示全部楼层
  1. #!/bin/sh
  2. # rename.sh
  3. # 批量重命名;ABC0001 ABC0002 ... ABC1000为 0001 0002 ... 1000
  4. # 2011-03-28
  5. targ_dir=$1
  6. if [ ! -d "$targ_dir" ]; then
  7.         echo "Usage: ./rename.sh DIR"
  8.         exit 1
  9. fi
  10. cd $targ_dir
  11. for old_file in ABC*; do
  12.         if [ ! -f "$old_file" ]; then
  13.                 echo "$old_file is a directory"
  14.                 continue
  15.         fi
  16.         new_file=${old_file#ABC}
  17.         mv -v "$old_file" "$new_file"
  18. done
  19. echo job done
  20. exit 0
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-4-1 16:07:48 | 显示全部楼层
谢谢,都能顺利运行。。。。看来自己得学点脚本语言了
回复 支持 反对

使用道具 举报

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

本版积分规则

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