免费注册 查看新帖 |

Chinaunix

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

怎么大批量修改文件名啊! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-12-24 10:53 |只看该作者 |倒序浏览
我现在的文件名是2007-12-20 15-40-19.txt这种格式, 而且这个时间并不连续,也就是说上一个文件的下一个并不一定是2007- 12-20 15-40-20.txt. 我需要把它们的名字改为1,2,3......这样排下去,我的文件有好几千个,不可能手动去改!
高手帮帮忙啊

论坛徽章:
1
狮子座
日期:2013-12-05 16:04:37
2 [报告]
发表于 2007-12-24 10:58 |只看该作者
原帖由 xbdzsmc 于 2007-12-24 10:53 发表
我现在的文件名是2007-12-20 15-40-19.txt这种格式, 而且这个时间并不连续,也就是说上一个文件的下一个并不一定是2007- 12-20 15-40-20.txt. 我需要把它们的名字改为1,2,3......这样排下去,我的文件有好几千个, ...



写个shell 循环脚本可以实现

论坛徽章:
0
3 [报告]
发表于 2007-12-24 11:04 |只看该作者
谢谢楼上的,我也这样想,但我是菜鸟,不会shell 编程啊, 能不能给具体说说.谢谢

论坛徽章:
0
4 [报告]
发表于 2007-12-24 11:16 |只看该作者
你的排序原则(或者说特征)是什么?
困难在于排序,批量重命名不是问题!

论坛徽章:
0
5 [报告]
发表于 2007-12-24 11:47 |只看该作者
我的名字规则是这样的:年-月-日(空格)时-分-秒.txt. 如2007-12-20 15-40-19.txt. 但是并不连续,也就是说19秒的下一个文件不一定是20秒.不过前边的"年-月-日",大家都一样.没关系,主要是后边的"时-分-秒"
另外,我的这个那个文件在前那个在后关系不大,只是一个统计而已,无所谓谁前谁后. 现在的问题是我希望把它们都改为name1.txt, name2.txt, name3.txt........... 这样我下边的事情才好做.
谢谢

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
6 [报告]
发表于 2007-12-24 12:38 |只看该作者
ls 2007*.txt|while read file;do ((++n));mv "$file" name$n.txt;done

评分

参与人数 1可用积分 +6 收起 理由
mcumsigscr + 6 我很赞同

查看全部评分

论坛徽章:
0
7 [报告]
发表于 2007-12-25 17:52 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2007-12-26 12:27 |只看该作者
#!/bin/csh -f

set intCount = 1

foreach name ( *.txt )
     mv ./"$name" ./$intCount.txt
     @ intCount++
end

评分

参与人数 1可用积分 +6 收起 理由
mcumsigscr + 6 我很赞同

查看全部评分

论坛徽章:
1
狮子座
日期:2013-12-05 16:04:37
9 [报告]
发表于 2007-12-26 15:17 |只看该作者
原帖由 寂寞烈火 于 2007-12-24 12:38 发表
ls 2007*.txt|while read file;do ((++n));mv "$file" name$n.txt;done



简单易懂。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP