find -name "*.zip" | xargs -l zipgrep "QUICTest" -n > quic.test
它告诉我zip文件中文件的名称,我也得到了行号 - 但是我无法弄清楚的是,如何打印zipfile 我想我必须将它包装在一个单独的记录器中,但我仍然无法找到提取zip文件名和路径的方法
我很高兴我得到了正确的结果,但并不是说我无法确定我们在哪里找到这些文件 - 因为它们都是通用日志文件,他们的标题是日期和时间,但没有其他有用的信息。 非常感谢
更新 - 我有一个部分答案 - 我已经编辑了zipgrep脚本,以便在egrep之后更改sed替换操作以戳取zipfile名称
status_grep=` ( \
( unzip -p-L "$zipfile" "$i" | \
egrep $opt "$pat" 1>&4 ; echo $? >&3 ) 4>&1 | \
sed "s|^|${zipfile}::${i}:|" 1>&4 \
) 3>&1 `
fi
我刚刚意识到它会轰炸处理带有空格的子文件夹,所以我会继续努力。 有没有人以前解决过这个问题?我怀疑我仍然错过了一个更容易的选择
答案 0 :(得分:1)
解决了......我有时候是一个笨蛋 看起来我需要使用cygwin
find -name "*.zip" -print0 | xargs -0 -l zipgrep "QUICTest" -n | tee quic.test
我没有意识到我需要将-print0用于find以及-0和-l用于xargs,因为你需要两组指令。