bash或shell脚本 - 将pcap文件转换为csv文件

问题描述 投票:0回答:2

我有一个包含数千个.pcap文件的文件夹,我想将这些文件转换为.csv(例如:1.pcap - > 1.csv,2.pcap - > 2.csv,...)。

我写了这个bash脚本:

#!/bin/bash

for f in /home/pc/Desktop/pcapfiles/*.pcap; do
tshark -r ./"$f" -T fields -e frame.number -e frame.time -e ip.src -e ip.dst -e ip.proto -e frame.len -E header=y -E separator=, -E quote=d -E occurrence=f> ./"${f%.pcap}.csv"

done

P.S:我试图用批处理脚本完成这个任务(我已经发布了这个问题,但它不适用于我,所以我决定尝试使用bash脚本或shell脚本。我将非常感谢你的帮助。

bash shell csv ubuntu pcap
2个回答
0
投票

您应该删除最后5个字符以删除.pcap扩展名并添加csv

#!/bin/bash

for f in /home/pc/Desktop/pcapfiles/*.pcap; do
    tshark -r ./"$f" -T fields -e frame.number -e frame.time -e ip.src -e ip.dst -e ip.proto -e frame.len -E header=y -E separator=, -E quote=d -E occurrence=f > ./"{$f::-5}".csv"
done

0
投票

您的脚本的问题是您使用完整的绝对路径循环遍历文件列表,然后尝试写入与当前目录的子目录序列相同的路径。

您将需要从每个文件名中删除路径。你可以用basename或参数替换来做到这一点,有点类似于你已经修剪.csv扩展。

即便如此,你也不能使用qazxsw poi来引用qazxsw poi,因为这意味着./"$f"等。

"$f"
© www.soinside.com 2019 - 2024. All rights reserved.