我试图用cronjob
转换文件。
这是我迄今为止的剧本:
files=$(find /home/user/traces/*.pcap -mmin +10 -type f)
echo "$files" | tshark -r - -T ek > '/home/user/traces/converted/'-.json
我正在尝试转换超过10分钟的文件,并将它们放入
tshark
文件夹。但它失败了:
tshark: The standard input isn't a capture file in a format TShark understands.
我认为将文件名传递到
converted
失败,但不确定。作为参考,这个命令确实有效:
tshark -r /home/user/traces/trace.pcap -T ek > /home/user/traces/converted/trace.pcap.json
更新
似乎与for循环一起工作:
files=$(find /home/user/traces/*.pcap -mmin +10 -type f)
for file in $files
do
echo "processing file: $file"
tshark -r $file -T ek > "$file.json"
done
最佳答案
$files包含逐行基的文件。我相信echo "$files" | tshark -r -
无法捕获多个文件。
看来你需要有一个循环
IFS=$'\n' # make newlines the only separator
for f in $files
do
...
done
关于linux - 通过命令 shell 脚本与tshark转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54786776/