2014-01-24 90 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

嗨,你能告訴我如何刪除文件中的完整路徑?,我只需要文件名稱不是它的完整路徑。 –