zip -d foo/bar/abc.jar "qwe/!(da-man*)xml"
尝试使用外壳路径名扩展从jar中删除文件时,我得到
zip错误:无事可做!
我也试过
zip -d foo/bar/abc.jar qwe/!(da-man*)xml
什么不起作用。
但是zip -d foo/bar/abc.jar qwe/*xml
工作正常。
什么原因?
这是因为您尝试使用正则表达式而不是文件通配来查找文件。试试这个:
首先查看文件是否匹配:
jar tf foo/bar/abc.jar | grep "qwe/!(da-man*)xml"
如果匹配,则删除它们:
jar tf foo/bar/abc.jar | grep "qwe/!(da-man*)xml" | xargs zip -d foo/bar/abc.jar