搜索某个目录下所有jar包中的mapper目录下的xml文件

rm -rf /mapper/*
find /data/app/app-*/lib ! -path "*xnpush*" ! -path "*portal*" ! -path "*defendcheck*" ! -path "*bak*" ! -path "*canal*" ! -path "*es*" ! -path "*task*" ! -path "*gold*" ! -path "*deposit*"  ! -path "*security*" -name "*-app-*" -print |xargs cp -t /mapper

for i in `find /mapper -name "*.jar" | awk -F'/' '{print $NF}' | awk -F '.jar' '{print $(NF-1)}'`;do unzip -o /mapper/$i.jar -d /mapper/$i; done

find /mapper -type d ( -name "com" -o -name "cn" -o -name "META-INF" -o -name "remote" ) | xargs rm -rf

rm -rf /mapper/*.jar

find /mapper -type f -name "*" -print | grep -vE "sqlmap|dbxnSqlmap|xnSqlmap|mainSqlmap" | xargs rm -rf

find /mapper/xnol-*/ -mindepth 1 -type d | grep -vE "sqlmap|dbxnSqlmap|xnSqlmap|mainSqlmap"  | xargs rm -rf

find /mapper -name "*.class"  -print | xargs rm -rf

性能测试中,由于是微服务架构,app端有50多个jar包

可以通过上述脚本将所有的jar包中的mapper文件的目录解压并提取出来,实现全局查找某个sql的方法

原文地址:https://www.cnblogs.com/qmfsun/p/11660756.html