我想要创建一个perl或bash脚本,它将读取键盘输入并分配一个变量,在当前充满Snort日志的目录中递归执行一个固定的字符串grep,然后自动地tcpdump将匹配的文件转储,grep的输出,并将指定的行打印到终端。有没有人对这个应该如何运作有一个好的想法?
下面是我希望从脚本中获得的方法示例:
步骤1:读取键盘输入并将其分配给名为string的变量。
步骤2命令: grep -Fr "$string“
步骤2输出: snort.log.1470609906匹配
步骤3命令: tcpdump -r snort.log.1470609906区grep -F "$string“C-10
第三步输出:
Snort日志
发布于 2016-09-03 15:23:12
下面是一些bash代码,可以这样做:
s="google.com"
grep -Frl "$s" | \
while IFS= read -r x; do
tcpdump -r "$x" | grep -F "$s" -C10
done发布于 2016-09-03 15:41:34
idk关于perl,但是您可以很容易地在shell中做到这一点:
str="google.com"
find . -type f -name 'snort.log.*' -exec grep -FlZ "$str" {} + |
xargs -0 -I {} sh -c 'tcpdump -r "{}" | grep -F '"$str"' -C10'https://stackoverflow.com/questions/39308395
复制相似问题