我有一个由设备信息组成的长.csv文件.每一行都是一个独特的设备,其中列出了自己的信息:
MACaddr,Date,"b,n",blahblahblah
我需要做的是接收文件,然后写入一个新文件,其中所有具有相同供应商MAC(即MAC地址的前3个八位字节)的线路/设备组合在一起.我可以很容易地接受每一行并使用正则表达式获取供应商MAC但是我被卡住了.
我只有:
#!usr/bin/perl use strict; use warnings; open IN,"wirelessClients.csv" or die "Couldn't open file\n$!"; open OUT,">sortedClients.csv" or die "Couldn't open out file\n$!"; my @clients = <IN>; foreach my $client (@clients) { if($client =~ /^(\w+:\w+:\w+)/) { print OUT "$1,$client\n\n"; } }
我不知道如何分类信息.
任何帮助和/或指导将不胜感激!
解决方法
如果MAC地址是第一个元素,则简单排序应该将具有相同前3个八位字节的组分组:
sort wirelessClients.csv > sortedClients.csv