免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: light102
打印 上一主题 下一主题

shell 批量修改文件名 !在线。急。。 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-12-26 15:55 |只看该作者
题目看错了,再发一个
list=`ls`
for i in $list;do
   mv $i `echo $i|sed 's/\(.*\)\.\(.*\)/22.\2/g' `
done

论坛徽章:
0
12 [报告]
发表于 2007-12-26 16:22 |只看该作者
原帖由 light102 于 2007-12-26 15:02 发表
for i in 11.*
do

mv $i 22.'ls $i|awk -F . '{print $2}' '

done

结果:
# sh ch.sh
mv: } not found
mv: } not found


看看怎么回事?



命令是反引号

论坛徽章:
0
13 [报告]
发表于 2007-12-26 16:51 |只看该作者
#!/bin/bash
cd /root/test

for i in `ls -A /root/test`
do
mv $i ${i/11/22}
done

论坛徽章:
0
14 [报告]
发表于 2008-01-23 14:11 |只看该作者
原帖由 light102 于 2007-12-26 15:02 发表
for i in 11.*
do

mv $i 22.'ls $i|awk -F . '{print $2}' '

done

结果:
# sh ch.sh
mv: } not found
mv: } not found


看看怎么回事?



'ls $i|awk -F . '{print $2}' '
`ls $i|awk -F . '{print $2}' `
看看有什么区别!

论坛徽章:
0
15 [报告]
发表于 2008-01-23 14:30 |只看该作者
因工作需要写了一个,可以看着改改

ls | awk '{if($1~/99001.old/) {a=$1;b=gsub(/99001.old/,"99002.MDI");system("mv" " " a " " $b)} else {a=$1;b=gsub(/001.old/,"002.MHI");system("mv" " " a " " $b)}} '

论坛徽章:
0
16 [报告]
发表于 2008-01-23 17:32 |只看该作者
ls | grep '11.*' | awk -F"." '{print "mv " $0" "$1+11"."$2}' | sh

[ 本帖最后由 spouter 于 2008-1-23 17:38 编辑 ]

论坛徽章:
0
17 [报告]
发表于 2008-01-23 18:08 |只看该作者
原帖由 wangjc111 于 2007-12-26 15:55 发表
题目看错了,再发一个
list=`ls`
for i in $list;do
   mv $i `echo $i|sed 's/\(.*\)\.\(.*\)/22.\2/g' `
done


这个不错
简单易懂

论坛徽章:
0
18 [报告]
发表于 2008-01-23 18:16 |只看该作者
ls -1 11.*|sed 's/^11\.//'|xargs -I {} mv 11.{} 22.{}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP