【发布时间】:2013-09-30 22:44:08
【问题描述】:
我有一个包含设备信息的长 .csv 文件。每条线路都是一个独特的设备,其信息如下所示:
MACaddr,,,,Date,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";
}
}
我不知道如何对信息进行排序。
任何帮助和/或指导将不胜感激!
【问题讨论】:
-
考虑using lexical filehandles,除非你有很深的理由不这样做。
-
哦,哇,那真是难以置信的简单...谢谢!
-
还有很好的信息,pilcrow,谢谢。我会调整我的方式。
-
不客气。已移至答案,以便您可以关闭问题。
-
@pilcrow 在 8 行脚本上?!为什么呢?这就像说永远没有主线代码,而只编写带有子程序的模块。还有很多更重要的事情需要担心。\n\n\n\n
标签: perl sorting mac-address