跟踪文件上的列过滤

发布于 2024-09-30 09:37:01 字数 460 浏览 2 评论 0原文

我正在对从 ns-2 生成的跟踪文件进行可视化分析,该文件跟踪在模拟的各个时间发送/接收/丢弃的数据包,

这里是示例跟踪输出 - http://pastebin.com/aPm3EFax

我想在将其分别分组到S/D/R后过滤掉column1,以便我可以将其分别求和找到数据包传输分数。

我不知道如何完成这件事? (也许有一些 awk/python 帮助?)

更新:好的,我这样做了 -

cut -d' ' -f1 wireless-out.tr | grep <x> | wc -l

其中 sr 或 <代码>D

I am doing visualization analysis on a trace file I generate from ns-2 that traces out the packets sent/received/dropped at various times of the simulation

here is a sample trace output - http://pastebin.com/aPm3EFax

I want to filter out the column1 after grouping it into S/D/R separately, so that I can sum it over to separately to find packet delivery fraction.

I am clueless on how to get this done? (maybe some awk/python help?)

UPDATE: okay, I did this -

cut -d' ' -f1 wireless-out.tr | grep <x> | wc -l

where <x> is either s or r or D

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

够钟 2024-10-07 09:37:01

尝试一下:

awk '{data[$1]+=$2} END{for (d in data) print d,data[d]}' inputfile

输出:

D 80.1951
r 80.059
s 160.158

Give this a try:

awk '{data[$1]+=$2} END{for (d in data) print d,data[d]}' inputfile

Output:

D 80.1951
r 80.059
s 160.158
真心难拥有 2024-10-07 09:37:01
import collections
result=collections.defaultdict(list)
with open('data','r') as f:
    for line in f:
        line=line.split()
        key=line[0]
        value=float(line[1])
        result[key].append(value)
for key,values in result.iteritems():
    print(key,sum(values))

产量:

('s', 160.15817391900003)
('r', 80.058963809000005)
('D', 80.195127232999994)

这接近你想要的形式吗?

import collections
result=collections.defaultdict(list)
with open('data','r') as f:
    for line in f:
        line=line.split()
        key=line[0]
        value=float(line[1])
        result[key].append(value)
for key,values in result.iteritems():
    print(key,sum(values))

yields:

('s', 160.15817391900003)
('r', 80.058963809000005)
('D', 80.195127232999994)

Is this close to the form you want?

眼泪淡了忧伤 2024-10-07 09:37:01
import csv
import itertools

data =  csv.reader(open('aPm3EFax.txt', 'rb'), delimiter=' ')

result = [(i, sum(float(k[1]) for k in g)) 
 for i, g in itertools.groupby(sorted(list(data)), key=lambda x: x[0])]
import csv
import itertools

data =  csv.reader(open('aPm3EFax.txt', 'rb'), delimiter=' ')

result = [(i, sum(float(k[1]) for k in g)) 
 for i, g in itertools.groupby(sorted(list(data)), key=lambda x: x[0])]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文