免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 1989 | 回复: 10
打印 上一主题 下一主题

有很多 abc.def@ghi123文件名要修改成 123.htm怎么办? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-08 02:33 |只看该作者 |倒序浏览
abc.def@ghi123 文件名要修改成 123.htm
abc.def@ghi124 文件名要修改成 124.htm
abc.def@ghi125 文件名要修改成 125.htm
...........................

这个怎么办呢?

论坛徽章:
0
2 [报告]
发表于 2004-07-08 05:27 |只看该作者

有很多 abc.def@ghi123文件名要修改成 123.htm怎么办?


  1. #!/bin/bash
  2. clear
  3. _LINENUMBER=`ls|wc -l|awk -F" " '{ print $1}'`
  4. _NUMBER=0
  5. x=0
  6. until [ $x -eq $_LINENUMBER ]
  7. do
  8.         _NUMBER=`expr $_NUMBER + 1`
  9.         x=`expr $x + 1`
  10.         _FILENAME=`ls|head -$_NUMBER|tail -1`
  11.         _NEWFILENAME=`ls|head -$_NUMBER|tail -1|awk -F".zh-cn.gb2312" '{ print $1; }'`
  12.         _FILETYPE=`file $_FILENAME|awk -F": " '{ print $2 }'|awk -F" " '{ print $1 }'`
  13.         if [ $_FILETYPE = HTML ] ; then
  14.         mv $_FILENAME $_NEWFILENAME
  15.         fi
  16. done
  17. printf "\n\n\nI've renamed all the file(s) in this directory.\nPlease do a check if something wrong!\n\n"
复制代码

论坛徽章:
0
3 [报告]
发表于 2004-07-08 05:30 |只看该作者

有很多 abc.def@ghi123文件名要修改成 123.htm怎么办?

  1. find ./ -regex .*\.en|awk -F. '{ printf "mv %s.%s.%s.%s %s.%s.%s\n",$1,$2,$3,$4,$1,$2,$3}'|sh
复制代码

论坛徽章:
0
4 [报告]
发表于 2004-07-08 08:03 |只看该作者

有很多 abc.def@ghi123文件名要修改成 123.htm怎么办?

  1. ls abc.def@*|sed 's/.*\(...\)$/mv & \1\.htm/'|sh
复制代码

论坛徽章:
0
5 [报告]
发表于 2004-07-08 09:08 |只看该作者

有很多 abc.def@ghi123文件名要修改成 123.htm怎么办?

好像不行阿

论坛徽章:
0
6 [报告]
发表于 2004-07-08 10:24 |只看该作者

有很多 abc.def@ghi123文件名要修改成 123.htm怎么办?

文件名是这样的:
download.jsp@type=0&abid=1
download.jsp@type=0&abid=2
download.jsp@type=0&abid=3
download.jsp@type=0&abid=4
download.jsp@type=0&abid=5
download.jsp@type=0&abid=6
download.jsp@type=0&abid=7
download.jsp@type=0&abid=8
download.jsp@type=0&abid=9
download.jsp@type=0&abid=10

.....

想改成 1.htm 2.htm 3.htm....10.htm .......
也就是说前面应该切掉的字母个数是不变的,后面的数字长度是变化的
偶是外行,不知道怎么处理。请赐一个脚本,谢谢

论坛徽章:
0
7 [报告]
发表于 2004-07-08 11:04 |只看该作者

有很多 abc.def@ghi123文件名要修改成 123.htm怎么办?

  1. ls down*|awk -F"=" '{print "mv",$0,$NF".htm"}'|sh
复制代码

论坛徽章:
0
8 [报告]
发表于 2004-07-08 14:01 |只看该作者

有很多 abc.def@ghi123文件名要修改成 123.htm怎么办?

显示mv的命令了
可是ls之后结果还是没有变化,这是为什么呢?

$ ls down*|awk -F"=" '{print "mv",$0,$NF".htm"}'
mv download.jsp@type=3&abid=4000000 4000000.htm
mv download.jsp@type=3&abid=4000001 4000001.htm
mv download.jsp@type=3&abid=4000002 4000002.htm
mv download.jsp@type=3&abid=4000003 4000003.htm
mv download.jsp@type=3&abid=4000004 4000004.htm
mv download.jsp@type=3&abid=4000005 4000005.htm

dvbs@IMAGE ~/test2/a81
$ ls
download.jsp@type=3&abid=4000000  download.jsp@type=3&abid=4000003
download.jsp@type=3&abid=4000001  download.jsp@type=3&abid=4000004
download.jsp@type=3&abid=4000002  download.jsp@type=3&abid=4000005

论坛徽章:
0
9 [报告]
发表于 2004-07-08 14:05 |只看该作者

有很多 abc.def@ghi123文件名要修改成 123.htm怎么办?

单独执行命令 mv download.jsp@type=3&abid=4000000 4000000.htm

shell可能把 & 没有当作文件名的一部分,结果无法更改文件名

$ mv download.jsp@type=3&abid=4000000 4000000.htm
[1] 3108
mv: missing file argument
Try `mv --help' for more information.
bash: 4000000.htm: command not found
[1]+  Exit 1                  mv download.jsp@type=3

论坛徽章:
0
10 [报告]
发表于 2004-07-08 14:28 |只看该作者

有很多 abc.def@ghi123文件名要修改成 123.htm怎么办?

[quote]原帖由 "dvbs2000"]t 1                  mv download.jsp@type=3[/quote 发表:


源文件用双引括起试试应该没问题:
  1. ls down*|awk -F"=" '{print "mv","\""$0"\"",$NF".htm"}'|sh
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP