LinuxSir.cn,穿越时空的Linuxsir!

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

renamefile.sh 批量重命名文件,删除非法、不友善字符

[复制链接]
发表于 2009-3-11 14:26:06 | 显示全部楼层 |阅读模式

  1. # '%20' -> ' '
  2. # '01' -> ''
  3. # '[1]' -> ''
  4. # '_' -> ' '
  5. # '(1)' -> ''
  6. # '(国)' -> ''
复制代码


加许可
  1. chmod +x renamefile.sh
复制代码


支持语法
  1. ./renamefile.sh r|p [$DIR]
复制代码


仅查看会修改那些文件 p -> pretend
  1. ./renamefile.sh p $DIR
复制代码


确定修改文件 r -> really
  1. ./renamefile.sh r $DIR
复制代码


处理跟脚本同目录下的所有文件
  1. ./renamefile.sh p
复制代码


处理跟脚本同目录下的music子目录里的所有文件
  1. ./renamefile.sh p music
复制代码


处理/home/lee/Music目录下所有文件
  1. ./renamefile.sh p /home/lee/Music
复制代码


download
http://code.google.com/p/egentoo ... trunk/renamefile.sh

推荐音乐播放器: moc amarok mplayer sox|play
发表于 2009-3-11 15:09:53 | 显示全部楼层
sed 可以用 sed -e 's/k/m/g' -e 's/kk/mm/g' 这样的形式,不需要那么多的 pipe
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-3-11 16:21:57 | 显示全部楼层
刚才试了一下,处理 %20 时不行哦
回复 支持 反对

使用道具 举报

发表于 2009-3-12 00:42:24 | 显示全部楼层
eix rename

e.g.,
  1. rename '%20' ' ' **/*
复制代码
回复 支持 反对

使用道具 举报

发表于 2009-3-12 09:41:13 | 显示全部楼层
什么是“非法、不友善”的字符呢?

可不可以把空格都换成-或_呢,空格在Linux下是有点麻烦!
回复 支持 反对

使用道具 举报

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

本版积分规则

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