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

sh/bash/dash/ksh/zsh等Shell脚本
回复
flyinflash
帖子: 2376
注册时间: 2006-09-21 14:28

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

#1

帖子 flyinflash » 2009-03-11 13:59

代码: 全选

'%20' -> ' '
'01' -> ''
'[1]' -> ''
'_' -> ' '
'(1)' -> ''
'(国)' -> ''

加许可

代码: 全选

chmod +x renamefile.sh
支持语法

代码: 全选

./renamefile.sh r|p [$DIR]
仅查看会修改那些文件 p -> pretend

代码: 全选

./renamefile.sh p $DIR
确定修改文件 r -> really

代码: 全选

./renamefile.sh r $DIR
处理跟脚本同目录下的所有文件

代码: 全选

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

代码: 全选

./renamefile.sh p music
处理/home/lee/Music目录下所有文件

代码: 全选

./renamefile.sh p /home/lee/Music
download
http://code.google.com/p/egentoo/source ... amefile.sh

推荐音乐播放器: moc amarok mplayer sox|play
上次由 flyinflash 在 2009-03-13 19:25,总共编辑 4 次。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

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

#2

帖子 eexpress » 2009-03-11 14:16

非法、不友善字符
字符何罪啊。
难道搞文革?
● 鸣学
flyinflash
帖子: 2376
注册时间: 2006-09-21 14:28

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

#3

帖子 flyinflash » 2009-03-11 14:18

您使用moc时,当然希望看到漂漂亮亮,整整齐齐的文件名啦! :em01 :em01
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

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

#4

帖子 lerosua » 2009-03-11 14:23

纯支持一下 :em06
bargain685
帖子: 49
注册时间: 2008-12-08 18:12

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

#5

帖子 bargain685 » 2009-03-11 16:31

不错,可否加入CMMusic的插件中?我正在找些方便些的脚本,以改成插件模式。
flyinflash
帖子: 2376
注册时间: 2006-09-21 14:28

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

#6

帖子 flyinflash » 2009-03-11 17:13

GPL2许可,您当然可以……

迟些可能做得更完善、复杂

比方说,
'artist-title'
->
'artist - title'

all to ogg
bargain685
帖子: 49
注册时间: 2008-12-08 18:12

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

#7

帖子 bargain685 » 2009-03-12 2:35

寒...不会用,比如我目录下有:
16524620.mp4 nsm2.flv sangmi11.flv sangmi14.flv 南相美MV1.flv
kiss.flv nsm4.flv sangmi12.flv sangmi15.flv 南相美MV2.flv
namsangmi.flv nsm.lst sangmi13.flv sangmi16.flv

想改成 南相美##.flv 且只改flv的。
##表示成00~99的,要能这样就好了,还以为是这种功能呢...
:em06
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

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

#8

帖子 eexpress » 2009-03-12 9:08

整个没说明的,不知道lz的脚本要干嘛。
估计就一行命令的事情,比如
j=0; for i in *.flv; do mv $i 南相美-$j.flv; ((j++)); done
● 鸣学
flyinflash
帖子: 2376
注册时间: 2006-09-21 14:28

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

#9

帖子 flyinflash » 2009-03-12 12:13

:em06 :em06
# '%20' -> ' '
# '01' -> ''
# '[1]' -> ''
# '_' -> ' '
# '(1)' -> ''
# '(国)' -> ''
bargain685
帖子: 49
注册时间: 2008-12-08 18:12

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

#10

帖子 bargain685 » 2009-03-12 12:33

问题是非法、不友善字符是如何产生的...
估计这种机会都很少吧... -_-!
:em06
回复