免费注册 查看新帖 |

Chinaunix

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

急!!!在linux下,把一个目录下的所有文件的文件名,小写改成大写。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-09 18:28 |只看该作者 |倒序浏览
在linux下,怎么能把一个目录下的所有文件(包括子目录下的所有文件)的文件名的第十个字母的小写改成大写。
如:100001000a.htm-->00001000A.htm

谢谢,哪位指点一下!

论坛徽章:
0
2 [报告]
发表于 2006-03-09 19:01 |只看该作者
写个几行shell脚本就ok了

论坛徽章:
0
3 [报告]
发表于 2006-03-09 22:20 |只看该作者

  1. two@one:~/bin/test$ ls
  2. 100a.html  100b.html  101a.html  101b.html
  3. two@one:~/bin/test$ for file in $(ls ./); do mv $file $(echo $file|tr "[a-z]" "[A-Z]"); done
  4. two@one:~/bin/test$ ls
  5. 100A.HTML  100B.HTML  101A.HTML  101B.HTML
复制代码

论坛徽章:
0
4 [报告]
发表于 2006-03-09 22:34 |只看该作者
利害,学习一下

论坛徽章:
0
5 [报告]
发表于 2006-03-09 23:35 |只看该作者
上面那个不能处理子目录。这个处理得比较麻烦。

本来想 mv 的时候把子目录路径添上,可惜不会匹配/前。比如./abc/def,不会保留./abc/。其实只是想截取最后一个/之前的文字。;(

所以就现mv了一下。只测试了一级子目录,没有更多测试。如果错误请告知。



  1. #!/bin/bash
  2. for dir in $(find ./ -type d )
  3. do
  4.         if [ $dir != ./ ]  ; then
  5.                 mv $dir $(echo $dir|tr "[a-z]" "[A-Z]")
  6.         fi
  7. done
  8. for file in $(find ./ -type f -name "*.html")
  9. do
  10.         mv $file $(echo $file|tr "[a-z]" "[A-Z]")
  11. done



  12. for dir in $(find ./ -type d )
  13. do
  14.         if [ $dir != ./ ]  ; then
  15.                 mv $dir $(echo $dir|tr "[A-Z]" "[a-z]")
  16.         fi
  17. done

复制代码

论坛徽章:
0
6 [报告]
发表于 2006-03-10 01:12 |只看该作者
大小写换 sed 也可以完成的。。。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2006-03-10 01:37 |只看该作者
这样试一试

  1. find . -name "*.htm"|while read file;do
  2.      echo "mv $file $(echo $file|rev|awk '{print substr($0,1,4)toupper(substr($0,5,1))substr($0,6,length($0))}'|rev)"|sh
  3. done
复制代码

[ 本帖最后由 寂寞烈火 于 2006-3-10 01:39 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2006-03-10 09:30 |只看该作者

回复 1楼 wmbxx 的帖子

我试一下,谢谢上面的几位.

论坛徽章:
0
9 [报告]
发表于 2006-03-10 09:41 |只看该作者
叹,那到不如COPY到WIN下哟,用软件改哟

论坛徽章:
0
10 [报告]
发表于 2006-03-10 09:56 |只看该作者

  1. for i in `echo *.html`;do mv $i `echo $i|tr 'a-z' 'A-Z'`;done
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP