免费注册 查看新帖 |

Chinaunix

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

[系统管理] test文件问题的 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-04-27 08:50 |只看该作者 |倒序浏览
本帖最后由 121433107 于 2016-05-09 15:15 编辑

删除文件。

论坛徽章:
0
2 [报告]
发表于 2016-04-27 09:09 |只看该作者
[root@USA ~]# md5sum anaconda-ks.cfg | cut -d ' ' -f1 >md5.file
[root@USA ~]# cat md5.file
45c78b69eef5febd54500059f2fcb758
命令解释:
md5sum: 显示或检查 MD5(128-bit) 校验和,若没有文件选项,或者文件处为"-",则从标准输入读取。
cut:  cut用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件。
        -d 指定与空格和tab键不同的域分隔符。-f1 表示第一个域。参考这里。

论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-14 06:20:00每日论坛发贴之星
日期:2015-10-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-02 06:20:00程序设计版块每日发帖之星
日期:2016-05-08 06:20:00
3 [报告]
发表于 2016-04-27 09:11 |只看该作者

使用:
python get_md5.py --input your_input_file --output out.txt

将下述代码保存为 get_md5.py
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. __author__ = 'shengwei ma'
  4. __author_email__ = 'shengweima@icloud.com'
  5. import sys
  6. import getopt

  7. input_file = ""
  8. output_file = ""

  9. try:
  10.    opts, args = getopt.getopt(sys.argv[1:], "h", ["input=", "output="])
  11. except getopt.GetoptError as err:
  12.     print(str(err))
  13. for op, value in opts:
  14.     if op == "--input":
  15.         input_file = value
  16.     elif op == "--output":
  17.         output_file = str(value)
  18.     elif op == "-h":
  19.         print("python get_md5.py --input your_input_file --output out.txt")
  20.         sys.exit()
  21. def md5(str):
  22.     import hashlib
  23.     import types
  24.     if type(str) is types.StringType:
  25.         m = hashlib.md5()
  26.         m.update(str)
  27.         return m.hexdigest()
  28.     else:
  29.         return ''
  30. with open(output_file, 'w') as f:
  31.     f.write(md5(input_file) + '\n')
复制代码

论坛徽章:
0
4 [报告]
发表于 2016-04-27 09:17 |只看该作者
你好:这个确实能获取md5值,如果有多个文件。比方说三个文件,我都要求获取md5值,并且都保存到md5.file中,如果实现呢?
钟小胖 发表于 2016-04-27 09:09
[root@USA ~]# md5sum anaconda-ks.cfg | cut -d ' ' -f1 >md5.file
[root@USA ~]# cat md5.file
45c78b ...

论坛徽章:
0
5 [报告]
发表于 2016-04-27 09:38 |只看该作者
本帖最后由 钟小胖 于 2016-04-27 09:39 编辑

回复 4# 121433107


    多个文件可以用跟在第一个文件后面 用空格间隔 一般都是这样的.
    如果是很多很多文件 可以用罗列到一个文本文件中 cut出来

ps.常驻学习,又见楼上高能

论坛徽章:
0
6 [报告]
发表于 2016-04-27 09:43 |只看该作者
哦,多个的问题我已经找到了,但是还有一个需求,比方说,md5.file中有三个md5值,格式如下:
5530d4027575600b4b7c34af33b86871
120a37096197c5374f83ecda9c1cbb352
1237c75bc075fcf6aacc87e7a3d3578922
但是我想要的格式如下:这样方便用户查看哪一个文件对应的md5值,一目了然
file1 MD5=5530d4027575600b4b7c34af33b86871
file2 MD5=120a37096197c5374f83ecda9c1cbb352
file3 MD5=1237c75bc075fcf6aacc87e7a3d3578922

钟小胖 发表于 2016-04-27 09:09
[root@USA ~]# md5sum anaconda-ks.cfg | cut -d ' ' -f1 >md5.file
[root@USA ~]# cat md5.file
45c78b ...

论坛徽章:
0
7 [报告]
发表于 2016-04-27 09:46 |只看该作者
回复 6# 121433107


    把前面代码中的 cut 部分去掉
之前是专门把文件名取消了,这需求在变化,我脑袋想得太短见了

论坛徽章:
4
程序设计版块每日发帖之星
日期:2015-10-14 06:20:00每日论坛发贴之星
日期:2015-10-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-02 06:20:00程序设计版块每日发帖之星
日期:2016-05-08 06:20:00
8 [报告]
发表于 2016-04-27 09:48 |只看该作者
哈哈,我回答的时候,我就在想,就几个文件,随便百度下在线的工具都可以搞定啊。。。。回复 7# 钟小胖


   

论坛徽章:
0
9 [报告]
发表于 2016-04-27 09:52 |只看该作者
,呵呵,用户需求千变万化啊,我刚把 | cut -d ' ' -f1 这个拿掉了,生成的格式如下:

5530d4027575600b4b7c34af33b86871      file1
120a37096197c5374f83ecda9c1cbb352      file2
1237c75bc075fcf6aacc87e7a3d3578922      file3
万能的楼主,能不能更清楚点,加一个md5提示。别人看到后就知道是md5值?不然别人也不知道这个是什么值

回复 7# 钟小胖


   

论坛徽章:
0
10 [报告]
发表于 2016-04-27 09:55 |只看该作者
回复 8# mswsg

嗯,我该学会把别人遇到的问题当成自己以后会遇到的大问题来思考,争取早日脱菜
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP