【问题标题】:Convert pcap text file to csv in Bash在 Bash 中将 pcap 文本文件转换为 csv
【发布时间】:2020-05-17 00:39:48
【问题描述】:

文本文件中的内容有以下格式:

|1=X1|2=Y1|3=K1|4=J1|5=S1|
|1=X2|3=K2|4=J2|5=S2|
|1=X3|2=Y3|4=J3|5=S3|
...

所以有时会出现数据丢失,而我们想要的是如下所示的 csv 文件:

1,2,3,4,5
X1,Y1,K1,J1,S1
X1,,K2,J2,S2
X3,Y3,,J3,S3
...

关于丢失的数据,我真的不知道如何使用 Bash 进行操作。 大约有 500 万行包含 30 多列,我的想法是我们可能需要执行 30 次“if 子句”来检查并填写“,”以查找任何丢失的数据。这听起来不切实际,显然应该有更好的方法。

【问题讨论】:

  • 阅读awk tutorial,尝试解决您的问题,然后编辑您的 Q 以展示您解决此问题的最佳尝试。然后我们可以帮助您解决问题。实际上,您在最后一段中添加到问题中的条件太宽泛了。像awk '-F=' -vOFS="," '{gsub("|","",$0); print $1, $3, $5"\n" $2, $4, $6\n"}' file 这样的东西将是值得体验的东西。此外,如下所述,鉴于只有 500 万行,我不会花时间尝试拆分数据。这应该在不到一分钟的时间内运行。祝你好运。
  • 这看起来很有帮助。事实上,我遇到的主要问题是如何处理丢失的数据。我对 awk 很熟悉,但我不确定如何识别偶尔缺失的值并执行此操作“,”,让我尝试实现它!非常感谢!如果它在不到一分钟的时间内完成,那就太好了!感谢估价
  • 链接无效?

标签: bash csv database-design datatable pcap


【解决方案1】:

您可以使用tshark,也可以使用this 程序。

pip3 install scapy pyshark
python3 pcap2csv --pcap inp.pcap --csv op.csv

这应该可行。

【讨论】:

  • 仅链接问题的解决方案不被视为 StackOverflow 的良好“形式”。这不是一个 BBS,它旨在成为一个独立的问题和有效答案的集合。如果您编辑答案以包含所提供链接中的相关信息,那么我可以删除我的反对票。您可以保留链接作为参考,但不应将其作为“答案”提供给 O.P......
  • 另外,我不得不反对您将数据拆分为 5000 行的建议。也许 500000,但现代硬件每分钟可以写入大约 1GB 输出,所以恕我直言,这应该是设计数据过滤器的基线。可能有理由将文件拆分得非常小以便快速处理,但管理 100 多个小文件将花费更多时间,除非真的需要它们。祝大家好运。
  • 哎呀,我每次都必须输入,但我忘了 dbl-检查我是否正确。试试这个:grymoire.com/Unix/Awk.html。 (顺便说一句,我没有对你的 Q 投反对票)。祝你好运。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-18
  • 2018-10-23
  • 2016-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多