免费注册 查看新帖 |

Chinaunix

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

获取其中最近的file开头的文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-01-18 12:52 |只看该作者 |倒序浏览
有filelist-201310130423-0
  filelist-201401120913-0
filelist-201401131214-1
index-201310130416-0
index-201401181212-1
index-201401181248-1
等等的好多这种文件名称。
我怎么获取其中filelist开头的时间戳最近的那个文件啊。我刚学不久,下面是我写的,不能完成这个功能。。请指导。
filelist = list('^filelist')
   lastfile = filelist.readlines.split('-')
   sdir = filelist-(max (int(lastfile[1])))-[0-9]

论坛徽章:
11
技术图书徽章
日期:2014-03-01 14:44:34天蝎座
日期:2014-05-21 22:11:59金牛座
日期:2014-05-30 17:06:14
2 [报告]
发表于 2014-01-18 14:41 |只看该作者
回复 1# nessunsweet
如果一定要用Python,原理上也是翻译shell实现
  1. bash-3.2 $ls filelist-* | sort -r | head -1
  2. filelist-201401131214-1
复制代码

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
3 [报告]
发表于 2014-01-18 15:08 |只看该作者
直接排序不行吗?
  1. In [42]: s = '''filelist-201310130423-0
  2.     ...:   filelist-201401120913-0
  3.     ...: filelist-201401131214-1
  4.     ...: index-201310130416-0
  5.     ...: index-201401181212-1
  6.     ...: index-201401181248-1'''

  7. In [43]: lst = [e.strip() for e in s.split('\n')]

  8. In [44]: lst = [e for e in lst if e.startswith('filelist')]

  9. In [45]: lst
  10. Out[45]:
  11. ['filelist-201310130423-0',
  12. 'filelist-201401120913-0',
  13. 'filelist-201401131214-1']

  14. In [46]: lst.sort()

  15. In [47]: lst[-1]
  16. Out[47]: 'filelist-201401131214-1'
复制代码

论坛徽章:
4
金牛座
日期:2013-10-11 16:12:50卯兔
日期:2014-07-31 09:17:19辰龙
日期:2014-08-08 09:28:02狮子座
日期:2014-09-14 20:32:05
4 [报告]
发表于 2014-01-18 15:11 |只看该作者
回复 2# timespace


    这个bash好像很屌,最近看到几个一行实现的代码了,是否易上手?

论坛徽章:
0
5 [报告]
发表于 2014-01-18 16:08 |只看该作者
恩恩 shell的我理解了 要用python来写回复 2# timespace


   

论坛徽章:
0
6 [报告]
发表于 2014-01-18 16:10 |只看该作者
我实验下~~~ 感谢 回复 3# ssfjhh


   

论坛徽章:
11
技术图书徽章
日期:2014-03-01 14:44:34天蝎座
日期:2014-05-21 22:11:59金牛座
日期:2014-05-30 17:06:14
7 [报告]
发表于 2014-01-18 17:25 |只看该作者
回复 4# ssfjhh
类似Windows的图形界面操作吧,shell(比如bash是比较流行的一种shell,全称Bourne Again Shell)是UNIX/Linux的命令行界面,没有图形直观,不过也不复杂,常用的就那么几个命令。


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP