我的目的是在当前目录中递归地在所有jar,war,ear文件的清单中找到一个jar条目。我正在打印档案的名称,grep输出匹配项。
命令
find ./ -maxdepth 1 -type f -name "*.*ar" ! -name "*.tar" -exec zipgrep -qr "$classpathjarname" '{}' \; -print
有效,但是要花费很多时间。
我尝试了以下命令,但失败了:
find ./ -maxdepth 1 -type f -name "*.*ar" ! -name '*.tar' -print0 | xargs -r0 -P2 zipgrep -rq 'classpath.jar'
给出错误
caution: filename not matched: ./abc.jar
caution: filename not matched: ./dsf.jar
/usr/bin/zipgrep: line 97: test: -eq: unary operator expected
/usr/bin/zipgrep: line 100: test: : integer expression expected
我通常发现find&grep组合的工作效率非常高,我缺少什么?