2014-01-24 57 views
1

我创建了sh脚本来使用'mergecap'命令合并pcap文件。但我正面临一个问题。我需要的是合并所有PCAP文件日期早的那5天,所以我用“查找”命令来查找所有文件超过5天的在wirehshark中合并pcap文件

FILES=$(find /capture/nop/ -maxdepth 1 -name "*.pcap" -mtime +5) 

我怎么会在mergecap命令中使用数组FILES

mergecap -w outfulfile.pcap input1.pcap input2.pcap 

反正也有使用使用合​​并的第一个和最后一个文件的文件名作为输出文件的文件名。

回答

3

这是做你想做的?

#!/bin/bash 
FILES=($(find /capture/nop/ -maxdepth 1 -name "*.pcap" -mtime +5)) 
# Discard path name and extension 
TAG1=$(basename "${FILES[0]}" | sed 's/.pcap//') 
TAG2=$(basename "${FILES[-1]}" | sed 's/.pcap//') 
mergecap -w "output_from_${TAG1}_to_$TAG2" ${FILES[@]} 
+0

嗨,你能告诉我什么文件[-1]做?因为它给出了错误的数组下标错误。 mergecap表示没有输入文件.. –

+0

''FILES [-1]''应该给出''FILES''中的最后一个元素。是否因为''find''命令在条件下没有找到任何文件? –

+0

嗨,你能告诉我如何删除文件中的完整路径?,我只需要文件名称不是它的完整路径。 –