介绍
这篇文章将为大家详细讲解有关如何在Linux中使用壳命令统计某列去重后的值,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
需求:根据MAC获取,MAC对应的硬件版本和软件版本。在根据硬件版本统计MAC的数量
,美元head test_1。txt
00:07:67, EC2108, HWV010537P0000
引用>
00:07:63, Z83, ZNV861010P1225
00:07:67, EC6108V9U_ca_sccdx, HWV218012P0000
00:07:63, SBox8900hisi3716V3, ZGV865012P0001
00:07:67, EC6108V9U_ca_sccdx, HWV218012P0000
00:21:26, EC6108V9U_ca_sccdx, HWV218012P0000
00:07:67, EC6108V9U_ca_sccdx, HWV218012P0000
00:07:63, stbhd - st7105 - 000, ZTV70433089P0002
00:21:26, EC6108V9U_ca_sccdx, HWV215012P0000
00:21:26, EC6108V9U_ca_sccdx, HWV218012P0000<强>第二列去重强>
,美元cat test_2.txt |, awk -F & # 39; & # 39;, & # 39; {print $ 2} & # 39;, |, sort |, uniqEC2108
引用>
EC6108V9U_ca_sccdx
SBox8900hisi3716V3
stbhd - st7105 - 000
Z83<强>将字符串转化为列表强>
import 操作系统 时间=path “C: \ \ \ \ \ \用户管理员桌面\ \机顶盒\ \ dd.txt" 时间=read 开放(路径,“r") 时间=list_ [] for line 拷贝;阅读: 时间=line_ 才能;line.strip () list_.append才能(line_) 打印(list_)根据厂商和硬件版本获取对应的软件版本
<强>方法一:强>
GET 收集- 012 - 20180109/_search { ,“size": 0,, ,“aggs": { “1”:才能,{ ,才能“terms":, { ,,,“field":,“dev_hard_ver" ,,,“size": 200 ,,}, ,才能“aggs":, { ,,,,2,:,{ ,,,,“terms":, { ,,,,,“field":,“soft_ver" ,,,,,“size": 1 ,,,,} ,,,} ,,} ,,} ,} }<>强方法二:强>
import 操作系统 得到elasticsearch import  Elasticsearch 时间=path “C: \ \ \ \ \ \用户管理员桌面\ \机顶盒\ \ fact_stb.txt"=write_file 开放(路径,“+”) 时间=es Elasticsearch () def get_Data (dev_hard_ver dev_vendor_name): index_ =,才能“收集- 012 - 20180109 -“; 尝试才能: ,,,rs =, es.search(指数=index_,身体={ ,,,,,“size":, 1, ,,,,,,“query":, { ,,,,,,,“bool":, { ,,,,,,,,“must":, ,,,,,,,,,{“term": { ,,,,,,,,,,“dev_hard_ver":, { ,,,,,,,,,,,“value": dev_hard_ver ,,,,,,,,,,} ,,,,,,,,,} ,,,,,,,,}, ,,,,,,,,{ ,,,,,,,,,“term":, { ,,,,,,,,,,“dev_vendor_name":, { ,,,,,,,,,,,“value": dev_vendor_name ,,,,,,,,,,} ,,,,,,,,,} ,,,,,,,,} ,,,,,,,,) ,,,,,,,} ,,,,,,}, ,,,,,,“_source":, (“soft_ver",“dev_vendor_name",“dev_hard_ver"】 ,,,}) ,,,return rs 除了才能: ,,,return 1 null null null null null null null null null null null null null如何在Linux中使用壳命令统计某列去重后的值