批量改名问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
liucheng1513
帖子: 62
注册时间: 2010-09-08 18:17

批量改名问题

#1

帖子 liucheng1513 » 2010-09-10 21:13

文件名为asdf_0_fs.txt
azxcf_0_fs.txt
hgrffd_0_fs.txt

如何批量把“_0_”改成“_1_”
头像
linlee
帖子: 1132
注册时间: 2007-10-20 11:30

Re: 批量改名问题

#2

帖子 linlee » 2010-09-10 22:28

纯帮顶
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

Re: 批量改名问题

#3

帖子 xiooli » 2010-09-10 22:33

ubuntu 上有个rename,没用过,笨办法:

代码: 全选

for i in *txt; do mv "$i" "`sed 's|_0_|_1_|' <<< "$i"`"; done
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 批量改名问题

#4

帖子 eexpress » 2010-09-10 22:53

gprename

图形界面的。适合lz。
● 鸣学
secularbirdeagle
帖子: 1
注册时间: 2010-09-10 23:35

Re: 批量改名问题

#5

帖子 secularbirdeagle » 2010-09-10 23:39

代码: 全选

rename 's/_0_fs.txt/_1_fs.txt/' *_0_fs.txt
huanhai2006
帖子: 2
注册时间: 2010-09-14 19:41

Re: 批量改名问题

#6

帖子 huanhai2006 » 2010-09-14 19:50

假设你的所有需要改名的文件都在同一个目录下,并且都是***_0_***改为***_1_***,那么你可以用以下方法来试一下:
shell>ls|grep "_0_"|gawk 'BEGIN{FS="_"}{print"mv", $0, $1 "_1_" $3}' >rename
shell>chmod u+x rename
shell>./rename
我做了一下测试,是可以的。
回复