gpt4 book ai didi

linux - 解析由 "categories"分隔的文件

转载 作者:太空宇宙 更新时间:2023-11-04 11:21:01 24 4
gpt4 key购买 nike

这是我的问题:

A)我是一个脚本新手

B) 我有一个文件,我需要将数据分成 CSV 样式表,我的问题是存在三个数据区域(见下文):

(Area 1, not relevant) Total IPv4 packets captured: 2245686
# L4 Protocol # Packets Relative Frequency[%] Protocol description

1 5602 0.249456 Internet Control Message Protocol
.... (more data here)

(Area 2, relevant) Total TCP packets: 2238186
# Port # Packets Relative Frequency[%] Protocol description

22 2138555 95.548583 The Secure Shell (SSH) Protocol
.... (more data here)

(Area 3, relevant) Total UDP packets: 1623
# Port # Packets Relative Frequency[%] Protocol description

.... (more data here)

(Area 4, relevant) Total SCP packets: 0
# Port # Packets Relative Frequency[%] Protocol description

.... (more data here)

(这是一个 Tranalyzer _protocols 输出)

所以我需要做的是让输出看起来像这样:

# Port,# Packets,Relative Frequency[%],Protocol description
22,2138555,95.548583,The Secure Shell (SSH) Protocol,(more data...)

但我还需要从每个区域获取数据并将其放入单独的 CSV 文件(TCP、UDP、SCP)中,这样对于我放入表中的所有流(每个流都在不同子目录中的不同 _protocols 文件中)数据可以进入这 3 个文件之一,并构建一个会占用大量内存的电子表格(因此为什么要使用 CSV。)

我也完全接受任何人都可以建议的任何其他方式来表示这一点。

非常感谢!

最佳答案

以下命令将提取数据文件并将其转换为 csv。
x 更改为 TCP、UDP 或 SCP 以提取特定数据集。
在执行之前将 <analyzer_output.txt> 更改为正确的文件名。

x="SCP"; \
cat <analyzer_output.txt> | sed "1,/^Total $x/d; /^Total /,\$d; /^\s*$/d" | \
sed 's/\([0-9]\)\s\+\([0-9]\)/\1,\2/g; s/\([0-9]\)\s\+\([A-Za-z]\)/\1,\2/g' \
> $x.csv

为以下示例数据生成的 SCP.csv 文件

41,2138555,95.548583,The Secure Shell (SSH) Protocol
42,2138555,95.548583,The Secure Shell (SSH) Protocol

示例数据文件

Total IPv4 packets captured: 2245686
1 5602 0.249456 Internet Control Message Protocol
2 5602 0.249456 Internet Control Message Protocol

Total TCP packets: 2238186
21 2138555 95.548583 The Secure Shell (SSH) Protocol
22 2138555 95.548583 The Secure Shell (SSH) Protocol

Total UDP packets: 1623
31 2138555 95.548583 The Secure Shell (SSH) Protocol
32 2138555 95.548583 The Secure Shell (SSH) Protocol

Total SCP packets: 0
41 2138555 95.548583 The Secure Shell (SSH) Protocol
42 2138555 95.548583 The Secure Shell (SSH) Protocol

关于linux - 解析由 "categories"分隔的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18256421/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com